View Full Version : [java]Problema in fase di esecuzione
Ciao a tutti,
sto cercando di imparare a programmare in java ma ho un piccolo problema....
Quando vado a compilare il mio file.java va tutto bene e si genera il file.class
ma quando cerco di mandarlo in esecuzione mi esce:
Exception in thread "main" java.lang.NoClassDefError: somma dove somma è naturalmente il nome del mio programma.
Che devo fare,dove sbaglio?
grazie a tutti
Ciao a tutti,
sto cercando di imparare a programmare in java ma ho un piccolo problema....
Quando vado a compilare il mio file.java va tutto bene e si genera il file.class
ma quando cerco di mandarlo in esecuzione mi esce:
Exception in thread "main" java.lang.NoClassDefError: somma dove somma è naturalmente il nome del mio programma.
Che devo fare,dove sbaglio?
grazie a tuttiDevi impostare correttamente il classpath, leggi <qui> (http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html).
La cosa più semplice è fare:
java -cp . nometuaclasse
dove il punto indica che il classpath è la directory corrente.
Grazie!
ma se io scrivo direttamente c:\j2sdk1.4.2_13\bin\javac somma.java (che funziona) e poi c:\j2sdk1.4.2_13\bin\java somma non dovrebbe funzionare lo stesso?
Scusa se le domande sono un po sceme ma sono proprio all'inizio....
Grazie!
ma se io scrivo direttamente c:\j2sdk1.4.2_13\bin\javac somma.java (che funziona) e poi c:\j2sdk1.4.2_13\bin\java somma non dovrebbe funzionare lo stesso?
Scusa se le domande sono un po sceme ma sono proprio all'inizio....Il problema non è come lanciare i vari tools (basta che siano in PATH ma puoi lanciarli, come hai appena detto, con il path completo) ma impostare correttamente il classpath.
Il "classpath" è l'elenco di directory e file .jar che l'interprete Java utilizza per localizzare i file .class.
Quindi puoi fare:
set CLASSPATH=.
java somma
oppure
java -cp . somma
Ok grazie tutto ok!
Ne approffitto per chiederti un'ultima cosa :D
compilando questo pezzo di codice,un server,molto elementare:
import java.net.*;
import java.io.*;
class Server{
public static void main(String[] args){
MioThread t = new MioThread();
t.start();
}
}
Mi da come errore quando voglio mandarlo in esecuzione:
Exception in thread "main" java.lang.noclassdeffounderError: server (wrong name: server)
Da cosa dipende?grazie!
ho provato ma non vuole saperne di andare.....
TuLKaS85
27-11-2006, 14:38
ciao, partendo dal fatto che sto da poco studiando java, direi che potresti provare a definire class Server come public....
ciao :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.