View Full Version : JVM - Could not find the main class. Program will exit
fbcyborg
24-04-2004, 13:06
:muro: :muro: :muro: :muro:
Salve,
ho un file .jar super testato e ritestato tante volte e quindi funzionante.
Sul mio pc ho installato la j2sdk1.4.2 e ovviamente anche la jre.
Su un altro pc è installata solo l'ultima versione della JRE.
Su quest'ultimo pc il jar viene eseguito senza problemi.
Mentre invece sul mio pc dove ho il problema, non funziona, dice: Could not find main class: Program will exit. Un messaggio proveniente dal Java virtual machine launcher.
Il fatto è che ho rinstallato tutto da poco e sto cercando di capire perchè non funziona.
Vorrei per favore, tutte le variabili d'ambiente da impostare, e in caso sapere anche perchè, secondo voi, il jar sul mio pc non parte...
grazie per l'aiuto...
Ciao.
PS: premetto che ho già provato anche a mettere dei percorsi nelle path e classpath.. evidentemente sbaglio.
Caspita,
ho disinstallato la jdk e la jre...
ho reinstallato la jre ultima versione, e ancora mi da lo stesso errore.
lo stesso file, eseguito su un'altro computer mi funziona sempre bene...
sto diventando pazzo,
vi prego, mi serve una mano.
Preciso che sull'altro pc non è impostata la classpath, dato che non c'è il jdk, e tantomeno c'è nel path, la directory dove risiede javaw.
non c'è alcuna variabile da impostare.
il problema sorge sia lanciando il jar da linea di comando che con il doppio click (sotto windows)?
fbcyborg
25-04-2004, 12:20
immaginavo che non ci fossero variabili d'ambiente da impostare, visto che sull'altro pc funziona tutto alla grande senza toccare nulla...
Cmq, si, il problema si verifica sempre, sia da comando dos che da doppio click su win.
Ciao!
Originariamente inviato da fbcyborg
Cmq, si, il problema si verifica sempre, sia da comando dos che da doppio click su win.
Questo è ancor più bizzarro. E' possibile che tu abbia due versioni diverse del JRE, ad esempio una 1.4 sul PC dove funziona e una versione precedente sul tuo PC? Perchè la 1.4 ha tante classi/metodi che la 1.3 non aveva?
Al limite estrai i file dall'archivio jar ed esegui il programma come applicazione non archiviata (jar xf NomeJar.jar per estrarre)
fbcyborg
25-04-2004, 16:25
Originariamente inviato da PGI
Questo è ancor più bizzarro. E' possibile che tu abbia due versioni diverse del JRE, ad esempio una 1.4 sul PC dove funziona e una versione precedente sul tuo PC? Perchè la 1.4 ha tante classi/metodi che la 1.3 non aveva?
Al limite estrai i file dall'archivio jar ed esegui il programma come applicazione non archiviata (jar xf NomeJar.jar per estrarre)
No, non ho assolutamente la versione del JRE 1.3. sono la 1.4.2_03 sul pc sul quale funziona, e 1.4.2_04 sul pc sul quale non funziona.
Al limite non mi va di estrarre come dici te, l'archivio... mi serve di risolvere il problema alla radice.:muro:
La _04 è una minor release (cioè risolve qualche bug rispetto alla _03 e niente più).
Non devi estrarre i file per poi tenere il programma così com'è, li estrai così puoi vedere se c'è qualcosa che non va nelle classi.
"Couldn't find main class" è un errore generato quando la jvm "cicca" l'avvio del programma, per un sacco di motivi. Ad esempio, il programma fa uso di librerie non incluse nel JRE? Se sì le hai anche sul tuo pc?
Oppure c'è qualcosa che non va con la jvm sul sistema. Qual'è l'output del comando
java -version?
Hai provato ad usare la jvm dell'sdk anzichè quella pubblica del jre?
fbcyborg
25-04-2004, 18:59
""Non devi estrarre i file per poi tenere il programma così com'è, li estrai così puoi vedere se c'è qualcosa che non va nelle classi.""
Beh, il fatto è che come ti dicevo il jar è apposto di sicuro... sull'altro pc gira perfettamente... quindi è inutile spulciare i vari files.. Per quanto riguarda altre librerie, no, nessun problema di questo tipo...
confermo la tua affermazione...:
Oppure c'è qualcosa che non va con la jvm sul sistema. l'output del comando java -version è:
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)
Ho provato ad usare la jvm dell'sdk anzichè quella pubblica del jre e il risultato è lo stesso....
Insomma... già mi è capitato di rinstallare in passato la jdk dopo formattazione, ma mai questi problemi...
Se può esserti utile ti dico che ho anche installato
Visual basic 6.0 e Visual C++ 6.0 con la Microsoft Java VM. Poi ho IntelliJIdea 3.0.4.
Premetto che ho anche provato a disinstallarli tutti e a pulire il registro di sistema... ecc..
Ho dato un'occhiata ai bug correnti per la versione 1.4.2_04-b05 e non ce n'è uno che sembri fare al caso nostro (salvo un crash della jvm durante la lettura di certe immagini jpg).
A costo di sembrare insistente, estrai il contenuto del jar e ri-comprimilo in un jar eseguibile usando l'sdk 1.4.2_04.
Se funziona su entrambi i sistemi...forse è un bug del tool "jar.exe".
fbcyborg
26-04-2004, 14:23
Ciao, ho provato a fare come dici tu, anzi... meglio...
ho fatto un programmino con un semplicissimo main,
l'ho compilato, l'ho messo in un jar, operando correttamente come previsto, ma
sempre lo stesso risultato.... maledizione...
non vorrei che ci fosse qualche conflitto con qualche altro sw installato.
:muro:
Orpola, e le applicazioni dimostrative incluse nell'SDK funzionano?
fbcyborg
26-04-2004, 19:52
:cry: :cry: :cry:
No! purtroppo non funzionano nemmeno quelle....
cmq mi faresti un favore se mi dicessi cosa devo mettere esattamente nel PATH e nel CLASSPATH...
guarda, non so proprio dove andare a sbattere il naso...
è proprio triste sta faccenda!
io il classpath non lo tocco più dai tempi del jdk 1.1.
la PATH si usa per gli strumenti dell'SDK (javac, rmic ecc). La mia è:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Programmi\ATI Technologies\ATI Control Panel;C:\Sun\AppServer\bin;C:\Programmi\Java\j2sdk1.5.0\bin;C:\Dev-Cpp\bin
in grassetto la parte per l'sdk.
Prova a specificare esplicitamente tutti i parametri richiesti dalla jvm per partire:
ad esempio:
c:\programmi\java\j2re1.5.0\bin\java.exe -Xbootclasspath:c:\programmi\java\j2re1.5.0\lib\rt.jar -classpath .;c\javaworks\FileJar.jar -jar FileJar
Se non va neanche così tocca comprare l'acqua santa...
fbcyborg
27-04-2004, 14:21
:mc:
eeheh....
beh, l'acqua santa l'ho presa... ora mi affido a lei!!! :)
Senti, il problema sembra essere molto tosto da risolvere...
Ora provo a fare le varie disinstallazioni... disinstallo tutto il visual studio, anche se potrebbe non entrarci nulla in tutta questa storia, pulisco il registro, disinstallo il jre e il jdk... provo eventualmente a installare un'altra versione...
non lo so... eppure, a prescindere dal path dovrebbe funzionare....
cmq è davvero stranissimo sto fatto...
boh!
cmq voglio ringraziarti per il tempo che mi stai dedicando, sei davvero molto gentile :)
_________________________________________________
Ok, anzi... male...
ho disinstallato tutto, rinstallato di nuovo... niente..... cmq ho mandato anche un messaggio a www.java.it . nella sezione apposita... speriamo sappiano qualcosa loro... :P in caso ti faccio sapere
:tapiro:
fbcyborg
27-04-2004, 19:34
:eek: :eek: :eek: :eek:
Credo che diventerò pazzo ormai....
improvvisamente, smanettando con "Apri con..." cambiando prog, mettendone un'altro poi rimettendo javaw il jar, anzi tutti i jar ora funzionano....
NON SO COME, MA FUNZIONA.....
cose inspiegabili ma vere...
eehhh... ci sono i fantasmi nascosti fra gli zeri e gli uno!!!
Ciao, grazie ancora,
Fla.
Qui ci vuole l'EsorCiccio!. :D
Rispondo solo ora non perchè mi fossi arreso ma perchè le notifiche dei messaggi mi arrivano tutte insieme (a valanghe) due o tre settimane dopo i post :D.
Per fortuna hai risolto. Forse si era "pasticciato" un po' il registro di windows (strano! :D).
Ciao.
fbcyborg
27-04-2004, 21:33
Ciao!
non preoccuparti...
cmq mi sembra che tu abbia risposto sempre molto tempestivamente! :)
ti ringrazio nuovamente per tutto,
a presto.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.