Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    la classe non ha un metodo main...

    Ciao a tutti!

    ho un progetto in Java che su windows va alla grande, mentre su linux (sempre usando Netbeans) mi dice che la classe Start.java non ha il metodo main... e invece ce l'ha!

    Ecco il codice:

    codice:
    package SpatialRelations.org.tool;
    
    public class Start
        {
         /**
          * Metodo per mandare in esecuzione il tool. Contiene i path relativi
          * alle librerie e ai file usati.
          * @param args Lista di parametri passati da linea di comando ma non utilizzato.
          */
         public static void main(String args[])
            {
             System.setProperty("jrex.gre.path",  System.getProperty("user.dir") + "/lib/jrex/jrex_gre");
             System.setProperty("jrex.dom.enable", "true");
             String srcHandRelations = System.getProperty("user.dir") + "/lib/RELAZIONI_SCRITTE_A_MANO.txt";
             String srcGraphicRelations = System.getProperty("user.dir") + "/lib/RELAZIONI_GRAFICHE.txt";        
    
             GUI start = new GUI(srcHandRelations, srcGraphicRelations);
             start.setupMapUI();
             start.setVisible(true);
            }
        }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Tre cose:

    1) Come richiami la classe e da dove (nel senso, dove sei posizionato quando la chiami)
    2) Qual è la struttura di directory che hai creato per la classe
    3) Hai installato il JDK di Sun o hai un JDK pre-installato? Nel secondo caso, toglilo e installa quello della Sun.
    4) Riporta esattamente il messaggio di errore completo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Originariamente inviato da LeleFT
    Tre cose:

    1) Come richiami la classe e da dove (nel senso, dove sei posizionato quando la chiami)
    Dalla sedia scherzo... la eseguo direttamente dall'IDE di NetBeans, cliccando col destro e scegliendo "Run file".

    2) Qual è la struttura di directory che hai creato per la classe
    la struttura di directory è la stessa del package, quindi la classe si trova in SpatialRelations/org/tool (naturalmente tutto dentro "src")

    3) Hai installato il JDK di Sun o hai un JDK pre-installato? Nel secondo caso, toglilo e installa quello della Sun.
    Ho quello della Sun, of course

    4) Riporta esattamente il messaggio di errore completo.

    Ciao.
    Mi appare nell'IDE di NetBeans la famosa dialog in allegato.

    Comunque ribadisco, su Windows, sempre usando NetBeans, funziona tutto alla perfezione.
    E' travasando il tutto su Ubuntu che si è creato il problema.
    Immagini allegate Immagini allegate

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320


    Prova prima a controllare che non sia installata una JVM di quelle che vengono pre-caricate con la distribuzione di Ubuntu o, per lo meno, che non sia impostata come JVM di default (controlla la variabile d'ambiente PATH).

    Poi, se è tutto a posto, prova ad avviare il programma dalla shell.

    Credo che ci sia qualche impostazione errata di NetBeans o del sistema sulla JVM perchè, così, ad occhio non mi pare ci siano problemi.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Originariamente inviato da LeleFT


    Prova prima a controllare che non sia installata una JVM di quelle che vengono pre-caricate con la distribuzione di Ubuntu o, per lo meno, che non sia impostata come JVM di default (controlla la variabile d'ambiente PATH).

    Poi, se è tutto a posto, prova ad avviare il programma dalla shell.

    Credo che ci sia qualche impostazione errata di NetBeans o del sistema sulla JVM perchè, così, ad occhio non mi pare ci siano problemi.


    Ciao.
    Grazie per la risposta

    Path e classpath sono settati bene, perchè li ho impostati io a mano.
    Facendo anche un Java -version dalla shell la JVM che prende è quella della Sun, e non quella di default...

    Inoltre in fase di installazione NetBeans ha riconosciuto da solo la JDK corretta, quindi spero che abbia impostato quella come JDK, ma per sicurezza ricontrollo...


  6. #6
    Ricontrollato, è impostata la JDK corretta.

    Ma dai, sta lì il main!!!

  7. #7
    Ah, però mi sto accorgendo dii una cosa: su Linux (e solo lì, perchè su Windows non me lo dava), quando compilo Start.java, anche se non mi dà errori, su NetBeans compare un'iconcina rossa di divieto, in basso, e se ci clicco mi riporta il seguente problema:

    codice:
    Annotation: An error occurred during parsing of '/home/ciammarica/Scrivania/ToolSpatialRelations 52/src/SpatialRelations/org/tool/Start.java'. Please report a bug against java/source and attach dump file '/home/ciammarica/.netbeans/6.7/var/log/Start_45.dump'.
    Annotation: An error occurred during parsing of '/home/ciammarica/Scrivania/ToolSpatialRelations 52/src/SpatialRelations/org/tool/Start.java'. Please report a bug against java/source and attach dump file '/home/ciammarica/.netbeans/6.7/var/log/Start_45.dump'.
    An error occurred during parsing of '/home/ciammarica/Scrivania/ToolSpatialRelations 52/src/SpatialRelations/org/tool/Start.java'. Please report a bug against java/source and attach dump file '/home/ciammarica/.netbeans/6.7/var/log/Start_45.dump'.
    An error occurred during parsing of '/home/ciammarica/Scrivania/ToolSpatialRelations 52/src/SpatialRelations/org/tool/Start.java'. Please report a bug against java/source and attach dump file '/home/ciammarica/.netbeans/6.7/var/log/Start_45.dump'.
    Caused: java.lang.NullPointerException
    	at org.netbeans.modules.java.j2seplatform.libraries.J2SELibrarySourceForBinaryQuery.isNormalizedURL(J2SELibrarySourceForBinaryQuery.java:141)
    	at org.netbeans.modules.java.j2seplatform.libraries.J2SELibrarySourceForBinaryQuery.getNormalizedURL(J2SELibrarySourceForBinaryQuery.java:110)
    	at org.netbeans.modules.java.j2seplatform.libraries.J2SELibrarySourceForBinaryQuery.findSourceRoots2(J2SELibrarySourceForBinaryQuery.java:89)
    	at org.netbeans.api.java.queries.SourceForBinaryQuery.findSourceRoots2(SourceForBinaryQuery.java:117)
    	at org.netbeans.modules.parsing.impl.indexing.PathRegistry.sourceForBinaryQuery(PathRegistry.java:149)
    	at org.netbeans.modules.java.source.classpath.CacheClassPath.getResources(CacheClassPath.java:125)
    	at org.netbeans.api.java.classpath.ClassPath.entries(ClassPath.java:295)
    	at org.netbeans.modules.java.source.parsing.CachingFileManager.list(CachingFileManager.java:112)
    	at org.netbeans.modules.java.source.parsing.ProxyFileManager.list(ProxyFileManager.java:174)
    	at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2217)
    	at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1846)
    	at com.sun.tools.javac.code.Symbol.complete(Symbol.java:405)
    	at com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:324)
    	at com.sun.tools.javadoc.JavadocEnter.visitTopLevel(JavadocEnter.java:77)
    	at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:450)
    	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:283)
    	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:297)
    	at com.sun.tools.javac.comp.Enter.complete(Enter.java:639)
    	at org.netbeans.modules.java.source.parsing.ErrorHandlingJavadocEnter.main(ErrorHandlingJavadocEnter.java:77)
    	at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:897)
    	at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:367)
    	at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:313)
    	at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:528)
    	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:393)
    	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:148)
    	at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:209)
    	at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:655)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    [catch] at java.lang.Thread.run(Thread.java:619)
    che roba è? NullPointerException su cosa?

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Sembrerebbe un bug di NetBeans...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Originariamente inviato da LeleFT
    Sembrerebbe un bug di NetBeans...


    Ciao.

    Due giorni in fumo per un bug di NetBeans!

    Grazie per l'aiuto.

  10. #10
    Sì confermo, è un bug di NetBeans, perchè ho installato una versione precedente e ora parte.

    Ma li mortè!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.