Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435

    Coudl not find main class program will exit

    ...eppure la main class dovrebbe esserci!
    Questo è il problema che sto avendo ultimamente, all'inizio l'istruzione "java qualcosa" funzionava, poi per un certo periodo ho usato eclipse, e ora che riprovo ho sempre questa eccezione.
    Del percorso sono sicuro al 100%! Conosco abbastanza java per non fare errori del genere, eppure ho sempre questa eccezione dovuta, credo, a qualche impostazione di sistema sbagliata...mi potete aiutare?
    Almeno per adesso ho le variabili d'ambiente configurate così:

    JAVA_HOME = path del jdk
    PATH = %JAVA_HOME%\bin

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Coudl not find main class program will exit

    Originariamente inviato da Dark867
    Del percorso sono sicuro al 100%! Conosco abbastanza java per non fare errori del genere, eppure ho sempre questa eccezione dovuta, credo, a qualche impostazione di sistema sbagliata...mi potete aiutare?
    Almeno per adesso ho le variabili d'ambiente configurate così:

    JAVA_HOME = path del jdk
    PATH = %JAVA_HOME%\bin
    E la CLASSPATH ?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Ok, forse ci siamo...nella classpath non ho niente
    Cosa dovrebbe esserci?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    Originariamente inviato da Dark867
    Cosa dovrebbe esserci?
    Il CLASSPATH come la parola stessa lascia presagire serve per indicare dove java deve cercare i file class. Generalmente c'è la directory locale e gli eventuali path dove tieni i file class che usi abitualmente.

  5. #5
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Potresti farmi un esempio concreto per favore?Cioè se creo un file .class in una directory e poi voglio spostarlo devo mettermi ogni volta ad aggiornare la variabile d'ambiente?
    E cosa intendi per "directory locale"?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Dark867
    Potresti farmi un esempio concreto per favore?Cioè se creo un file .class in una directory e poi voglio spostarlo devo mettermi ogni volta ad aggiornare la variabile d'ambiente?
    E cosa intendi per "directory locale"?
    La questione del classpath l'ho già spiegata sul forum molte volte e la ripeto qui: il "classpath" è semplicemente un elenco di directory e/o file .jar/zip che la JVM usa per andare a cercare le classi.

    Supponiamo che in classpath ci sia, settato:

    CLASSPATH = C:\Prove;C:\Progetti\Esempi;C:\Lib\mylib.jar

    (2 directory e 1 jar)

    Metti che la JVM ad un certo punto ha bisogno di trovare una classe org.test.Prova, cosa fa?? Immaginando che non faccia parte delle Bootstrap Classes (le classi del runtime Java) e nemmeno delle Extension Classes (jar sotto la lib/ext di un JRE), allora sono delle User Classes e quindi va ad usare il "classpath".

    Cerca prima un

    C:\Prove\org\test\Prova.class

    poi un

    C:\Progetti\Esempi\org\test\Prova.class

    poi un org/test/Prova.class dentro C:\Lib\mylib.jar (org alla "radice" del jar)

    Il primo che trova è ok e finisce lì.

    Tutto qui. Quindi sapendo il package, se ce l'ha, della tua classe e sapendo dove sono fisicamente non dovresti avere problemi ad impostare il classpath.

    Tenendo anche conto che:
    a) Se non c'è proprio la variabile di ambiente CLASSPATH, il default è la directory "corrente".
    b) Specificare l'opzione -classpath a javac/java "sovrascrive" CLASSPATH.
    c) Nel classpath si può mettere un path assoluto o relativo (alla directory corrente), anche "." che indica proprio la directory "corrente".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Grazie mille, adesso funziona tutto!
    Ho semplicemente aggiunto al CLASSPATH ".", così che va a cercarsi le classi nella directory corrente

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 © 2026 vBulletin Solutions, Inc. All rights reserved.