Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: simOne_fLuo on 22-06-2009, 10:21:20



Title: ERRORE IN ESECUZIONE
Post by: simOne_fLuo on 22-06-2009, 10:21:20
ragazzi ho preso gli esercizi di lab da svolgere qui dal forum con i relativi risultati.. ma nell'esecuzione mi da questo errore:

>Exit code: 0
>java Lab2
java.lang.NoClassDefFoundError: Lab2 (wrong name: laboratorio2/Lab2)
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.access$000(Unknown Source)
   at java.net.URLClassLoader$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Lab2.  Program will exit.
Exception in thread "main" >Exit code: 1


qualcuno mi sa dare spiegazioni??
:-)| :-)|


Title: Re:ERRORE COMPILAZIONE
Post by: Vivynz on 22-06-2009, 10:26:43
ma il nome del file e della classe sono uguali?


Title: Re:ERRORE COMPILAZIONE
Post by: simOne_fLuo on 22-06-2009, 11:15:57
certo!


Title: Re:ERRORE IN ESECUZIONE
Post by: Vivynz on 22-06-2009, 11:20:36
ma scusa da quello che si vede l'errore te lo danno in esecuzione non in compilazione..perchè
>java Lab2 si ha quando esegui..quando compili usi javac..
controlla tutte le classi utilizzate e i relativi file non sono io che dico che c'è qualcosa di sbagliato..lo dice lui  .smile
non trova la classe Lab2 8Could not find the main class: Lab2.)


Title: Re:ERRORE IN ESECUZIONE
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 22-06-2009, 13:44:24
ragazzi ho preso gli esercizi di lab da svolgere qui dal forum con i relativi risultati.. ma nell'esecuzione mi da questo errore:

>Exit code: 0
>java Lab2
java.lang.NoClassDefFoundError: Lab2 (wrong name: laboratorio2/Lab2)
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.access$000(Unknown Source)
   at java.net.URLClassLoader$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Lab2.  Program will exit.
Exception in thread "main" >Exit code: 1


qualcuno mi sa dare spiegazioni??
:-)| :-)|
Questo errore capita quando il file che tenti di eseguire è stato compilato in un package specifico.

Non mi stupirei se la prima diga del file Lab2.java ci fosse scritto:
Code:
package laboratorio2;

In questi casi, bisogna creare una struttura di gerarchia nelle cartelle con lo stessa struttura gerarchica dei package, cioè devi creare una cartella laboratorio2, inserierci dentro il file Lab2.java, e poi eseguire il file di classe Lab2 facendo in modo che una delle cartelle del classpath punti alla cartella genitore che contiene laboratorio2, e ciò puoi farlo sia modificando a mano il valore della variabile ambientale CLASSPATH sia passando tale percorso (opportunamente virgolettato se necessario) tramite il parametro -cp dell'eseguibile java[.exe].

Se non capisci ciò che ho spiegato qui, vuol dire che non sei ancora "abbastanza" informatico, e puoi optare per la commentazione delle righe del package in tutti i file .java  :boh.