Wenn ich versuche, das Einstiegsprogramm nach dem Kompilieren mit dem Befehl 'java HalloWelt' auszuführen,
erhalte ich folgende Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError: HalloWelt
Antwort:
Die beschriebene Fehlermeldung bedeutet, dass der Interpreter die gewünschte Java-Klasse nicht findet.
Der Grund hierfür ist meist einer der folgenden:
Die class-Datei liegt nicht in dem aktuellen Verzeichnis, von dem aus java.exe aufgerufen worden ist.
(Kontrollieren Sie nach dem Kompilieren mit Hilfe des DOS-Befehls dir, ob die Datei
HalloWelt.class im Verzeichnis angelegt wurde).
Die Groß- und Kleinschreibung stimmt im Aufruf und in der Quelldatei nicht überein.
Wenn die Klasse in der Java-Quelldatei beispielsweise HalloWelt heißt, muss die
Quellcodedatei HalloWelt.java heißen und der Aufruf zum Starten java HalloWelt.
Eventuell ist die Umgebungsvariable CLASSPATH gesetzt,
was bewirkt, dass der Interpreter java.exe die class-Datei nicht im aktuellen Verzeichnis sucht.
Um dies zu kontrollieren, müssen Sie das gleiche Dialogfenster aufrufen, in dem Sie auch
die PATH-Variable bearbeitet haben (siehe Erläuterungen im Buch: Anhang zur Installation, Einstellung des Systempfads).
Sollte dort eine Variable CLASSPATH definiert sein, hängen Sie einen Eintrag für das aktuelle Arbeitsverzeichnis
(Abkürzung '.') an, z.B.: