ho un problema in esecuzione chiamato: Exception in thread "main" java.lang.NoClassDefFoundError:<NOMECLASSE>. ho letto che può nascere dal fatto che non abbia il file.class nella stessa cartella ma ho controllato e c'è. AIUTO PLEASE!
ho un problema in esecuzione chiamato: Exception in thread "main" java.lang.NoClassDefFoundError:<NOMECLASSE>. ho letto che può nascere dal fatto che non abbia il file.class nella stessa cartella ma ho controllato e c'è. AIUTO PLEASE!
NoClassDefFoundError nasce quando manca una classe al CLASSPATH dell'applicazione (non c'entra nulla la cartella).
Generalmente accade quando il progetto referenzia una classe che sta in una libreria, ma la libreria non è stata copiata col programma.
Può nascere anche in un caso particolare: se, ad esempio, è stata settata la variabile d'ambiente CLASSPATH (io non lo faccio mai, perchè non ha alcun senso farlo) e questa non include tra i suoi percorsi la cartella dei compilati che si sta cercando di eseguire.
In buona sostanza, se vuoi avere informazioni più precise devi prima di tutto darle tu:
1) Hai un file JAR o i file .class sciolti?
2) Se sono file .class sciolti, dove sono?
3) Dove ti posizioni al momento del lancio dell'applicazione?
4) Hai settato la variabile CLASSPATH? Se sì, che valore ha?
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
No non credo ho due classi. java e due classi.class all'interno della stessa cartella, la stessa dalla quale mi posizione per lanciare il programma; non so come si fa a settare la variabile CLASSPATH (sono alle prime armi in programmazion) quindi non credo.
Altra cosa, se hai usato la direttiva package allora per eseguire devi essere posizionato fuori dalla root del package e richiamare la classe mediante il suo fully-qualified-name. Esempio:
codice:package pippo.pluto; public class Principale { ... public static void main(String[] args) { ... } }
Il .class deve trovarsi dentro ad una directory chiamata "pluto". La directory "pluto" deve trovarsi dentro ad una directory chiamata "pippo". Tu per eseguire devi essere fuori dalla directory "pippo" (ovvero dentro la directory che contiene "pippo") e usare il seguente comando:
codice:java pippo.pluto.Principale
Se non è nemmeno questo il problema, allora posta le classi, le strutture di directory, la posizione da cui lanci e il comando che usi per lanciare.
Ciao.![]()
Ultima modifica di LeleFT; 06-02-2015 a 18:16
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Potrebbe aiutarti il fatto che dopo Exception in thread "main" java.lang.NoClassDefFoundError, mi esca: Esercizio1 (wrong name: Eventoaula/Esercizio1) grazie del tuo aiuto![]()
qui le classi:
codice:package Eventoaula; public class Evento { private int giorno; private int ora; private int durata; public Evento (int a, int b, int c){ giorno=a; ora=b; durata=c; } public boolean Inserisco(Evento e){ int dpe=this.ora+this.durata; int dse=e.ora+e.durata; boolean b=true; if (this.giorno==e.giorno){ if(dpe>=e.ora || dse<=this.ora) b=false; } return b; }
seconda classe:
codice:package Eventoaula; import java.util.*; import java.io.*; public class Esercizio1 { public static void main (String [] args) throws IOException { ArrayList <Evento> R = new ArrayList <Evento>(); File ff = new File (args [1]); Scanner sc = new Scanner (ff);
Ultima modifica di LeleFT; 06-02-2015 a 18:23 Motivo: Aggiunti i tag CODE
Sì, è come ho scritto sopra.
Stai usando la clausola package.
Nel tuo caso devi avere una directory chiamata "Eventoaula" con dentro i file .class.
Tu devi posizionarti fuori da questa directory ed eseguire con il seguente comando:
codice:java Eventoaula.Esercizio1
PS: quando posti del codice, inseriscilo tra i tag [CODE] e [/CODE], per mantenere formattazione ed indentazione.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Non lo sapevo grazie mille! ora ho altri problemi ma non sto a farti perdere ancora tempo, grazie ancora!
scusa il disturbo ancora ma ho un altro problema stavolta: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at Eventoaula.Esercizio1.main(Esercizio1.java:7)
Con quanti argomenti chiami il main, da linea di comando? Non abbastanza a quanto pare![]()
SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
Di questo libro e degli altri (blog personale di recensioni libri) | NO M.P. TECNICI