Java - eine Einführung in die Programmierung


Frage:

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.:

    SET CLASSPATH=c:\progs;.

gehe zu Anfang