PDA

View Full Version : [Java]Problemi in esecuzione


diadhuit
10-10-2006, 08:47
Ciao a tutti!
Ho creato un programmino con librerie esterne (org.apache.poi.*) e alcuni elementi deprecati. Avendo usato Java Studio Enterprise sono sicura che sia corretto e riesco ad usarlo. Compilando manualmente (javac da linea di comando) aggiungo anche la posizione delle librerie e il flag -xlint e ottengo i file .class
A questo punto, però, non riesco ad eseguire il programma (java nome_programma) e mi dà errore:
Exception in thread "main" java.lang.NoClassDefFoundError: nome_programma
Cosa sto sbagliando?
Grazie mille

PGI-Bis
10-10-2006, 10:52
Semplicemente non trova una classe il cui nome pienamente qualificato corrisponda al valore che stai passando a java.exe. Controlla che il nome – pienamente qualificato – della classe che stai cercando di caricare corrisponda al nome – pienamente qualificato – della classe che vorresti caricare. Se così è, controlla che la classe sia raggiungibile, vale a dire che la directory radice del package a cui appartiene o il file jar in cui è contenuta sia accessibile alla jvm attraverso i percorsi stabiliti con l'opzione -cp o -classpath. Controlla infine la corrispondenza tra la posizione nel filesystem del file .class della classe caricanda con il package a cui questa appartiene. Ricordo che javac genera il corretto albero di directory solo se in compilazione sia specificata l'opzione -d [path] con [path] percorso della cartella in cui generare l'albero di directory.

diadhuit
10-10-2006, 12:38
Ho fatto tutto e controllato tutto, ma non funziona ancora...

PGI-Bis
10-10-2006, 12:42
C'è qualcosa che ci sfugge allora. Serve un questionario passo passo :D.

Come si chiama la classe che contiene il metodo main? In che directory si trova? Qual'è la directory di lavoro al momento dell'esecuzione di java.exe?

lovaz
10-10-2006, 12:45
E soprattutto: cosa digiti *esattamente*?

diadhuit
10-10-2006, 16:15
Grazie a tutti e due per le risposte, ma ho trovato l'errore! :doh: con il comando java regolarmente sbagliavo il percorso delle librerie... :doh: :doh: :doh: Scusate se vi ho fatto perdere tempo e grazie grazie grazie!!!