Exception in thread main java lang NoClassDefFoundError
Ich bin eine Anfängerin in Java und habe gleich Probleme mit der og. Fehlermedung
Ich habe die java version "1.6.0_24" und JDK 1.4.2
Die Befehle "Javac" und "java" starten problemlos.
Habe ein Code aus dem Übungsbuch ausführen wollen und ich schalte immer an der Fehlermeldung aus.
Das compilieren geht aber der interpreter bringt die o.g. Fehlermeldung.
lt. Google liegt es an meine Umgebungsvariablen sg. CLASSPATH, die anscheinend nicht richtig definiert ist.
Habe schon alles mögliche versucht ohne Erfolg.
Ich hofe Hilfe hier zu finden
Danke
Die Befehle "Javac" und "java" starten problemlos.
Habe ein Code aus dem Übungsbuch ausführen wollen und ich schalte immer an der Fehlermeldung aus.
Das compilieren geht aber der interpreter bringt die o.g. Fehlermeldung.
lt. Google liegt es an meine Umgebungsvariablen sg. CLASSPATH, die anscheinend nicht richtig definiert ist.
Habe schon alles mögliche versucht ohne Erfolg.
Ich hofe Hilfe hier zu finden
Danke
Please also mark the comments that contributed to the solution of the article
Content-Key: 167398
Url: https://administrator.de/contentid/167398
Printed on: April 19, 2024 at 16:04 o'clock
10 Comments
Latest comment
$ cat HelloWorld.java
public class HelloWorld {
public static void main(String args) {
System.out.println("Hello World");
}
}
$ javac HelloWorld.java
$ java HelloWorld
Hello World
$ java HelloWorld.class
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
Caused by: java.lang.ClassNotFoundException: HelloWorld.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: HelloWorld.class. Program will exit.
$
Nochmal: das $ gibst du nicht ein, es ist nur eine optische Hilfe.
Ich löse jetzt mal auf:
Dem Java Compiler gibst du eine Datei um sie zu kompilieren, aber der Runtime gibst du eine Klasse zum Ausführen und keine Datei!
Darum ist der Befehl auch immer:
Java sucht dann automatisch eine Datei KlassenName.class
Die Regel ist lediglich, dass die Datei, die eine Klasse enthält auch so heißen muss wie die Klasse (Klasse
Wenn der KlassenName einen Punkt enthält geht Java von einem Package aus, aber das kommt sicher später noch in deinem Buch.
Ich löse jetzt mal auf:
Dem Java Compiler gibst du eine Datei um sie zu kompilieren, aber der Runtime gibst du eine Klasse zum Ausführen und keine Datei!
Darum ist der Befehl auch immer:
javac KlassenName.java
java KlassenName
Java sucht dann automatisch eine Datei KlassenName.class
Die Regel ist lediglich, dass die Datei, die eine Klasse enthält auch so heißen muss wie die Klasse (Klasse
A
befindet sich also immer in A.java
).Wenn der KlassenName einen Punkt enthält geht Java von einem Package aus, aber das kommt sicher später noch in deinem Buch.