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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 167398
Url: https://administrator.de/forum/exception-in-thread-main-java-lang-noclassdeffounderror-167398.html
Ausgedruckt am: 22.12.2024 um 15:12 Uhr
10 Kommentare
Neuester Kommentar
$ 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.