PDA

View Full Version : Esecuzione programma java


DigitalKiller
06-06-2006, 17:49
Sto provando ad eseguire il mio programma al di fuori dell'ambiente IDE (eclipse).
Lanciando da dos il seguente comando
java -jar mioProgramma

mi compare questo errore:

Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/as400/access/AS400
at it.miodominio.i5.Spool.<init>(Spool.java:63)
at it.miodominio.i5.Spool.main(Spool.java:209)

Come mai? Sbaglio qualcosa nella creazione del jar? :(

ianaz
06-06-2006, 18:52
edit: scusa, risposta inutile

franksisca
06-06-2006, 19:51
il classpath è ok???

DigitalKiller
06-06-2006, 19:54
il classpath è ok???

Cosa dovrei inserire nel classpath? :D

franksisca
06-06-2006, 22:25
[CODE]Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/as400/access/AS400

da questo mi pare di capire che usi qualche libreria esterna, e devi aggiungerla nel classpath, tramite DX su risorse del computer--->Avanzate--->Variabili d'ambiente.

P.S.: potrei aver detto una pxxxxxxxa, ma ho sonno.

DigitalKiller
06-06-2006, 22:50
da questo mi pare di capire che usi qualche libreria esterna, e devi aggiungerla nel classpath, tramite DX su risorse del computer--->Avanzate--->Variabili d'ambiente.

P.S.: potrei aver detto una pxxxxxxxa, ma ho sonno.

Si, sto usando un jar esterno, il jtopen.
Comunque il programma funziona fino a quando non tento di utilizzare appunto questo jar. :(

Per sviluppare questo programma, nel mio progetto in eclipse ho importato tutti i jar necessari (tra cui questo jtopen) e tutto funziona bene. Esportando il progetto in jar (includendo anche i jar esterni), non esiste un modo per far sì che l'applicazione utilizzi le librerie presenti nel jar stesso?

P.S. spero di non avere detto una caxxxta, anch'io ho sonno :D

DigitalKiller
07-06-2006, 15:06
Dopo alcune di ricerche ho capito dove sta il problema e sono riuscito a risolverlo.

Il problema sta nel file MANIFEST.MF che non riporta il classpath delle librerie esterne. Inoltre, cosa che ignoravo, all'interno di un jar eseguibile non possono essere inclusi i jar esterni (a meno che non si ricorra ad utility apposite).
Quindi, inserendo nel MANIFEST.MF il percorso delle librerie esterne, tutto funziona correttamente!:-D