ich möchte mit Java Programmieren lernen und habe nun das Packet installiert und eine erste "HelloWorld.java" mit einem Texteditor gespeichert. Beim Befehl javac wird eine Datei "HelloWorld.class" erstellt und nun müsste ich doch eigentlich per Verzeichnis>java HelloWorld das Programm ausführen können, zumindest wenn ich bis hier her die Installationsanweisungen verstanden habe.
Leider kommt nun folgende Meldung:
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Kann mir jemand weiter helfen damit ich dann tatsächlich mal mit dem Lernen beginnen kann.
Vielen Dank im Vorraus, ich hoffe ich werde nun öfters hier zugegen sein,
Gruß k.
Bist du die ganz sicher das deine von dir geschriebene Klasse HelloWorld heisst?
in etwa so:
Code:
public class HelloWorld
{
System.out.println("Hello, World!");
}
dieser Code MUSS in einer Datei namens HelloWorld.java gespeichert werden.
Danach kannst du sie mit dem Compiler "javac" kompilieren und mit dem Interpreter "java" ausführen.
dieser Code MUSS in einer Datei namens HelloWorld.java gespeichert werden.
Danach kannst du sie mit dem Compiler "javac" kompilieren und mit dem Interpreter "java" ausführen.
Wenn du dich in dem Verzeichnis befindest wo die .class Datei hast, dann kannst du in der Regel mit java Klassenname das ganze starten... es kann aber sein, dass dein Classpath verstellt ist, ein Test den du machen könntest, tippe er mal den kompletten Pfad ein, sprich: java c:\dasverzeichnis\Klassenname
wenn das klappt, fehlt im Classpath der . für die Suche nach Klassen die ausgeführt werden sollen im aktuellen Verzeichnis.
auch "tippe er mal den kompletten Pfad ein, sprich: java c:\dasverzeichnis\Klassenname" ergibt das gleiche
PATH Variable habe ich in Umgebungsvariablen zum bin-Verzeichnis von Java2 gesetzt.
Wäre wirklich dankbar wenn jemand ne Idee hätte,
k.
naja, er möchte ja direkt klassen im verzeichnis ausführen. dazu muss er ja nicht das verzeichnis im classpath haben, sondern eben nur den ominösen .. steht ja auch so auf dem link, den du gepostet hast.
aha! danke...also bei CLASSPATH folgendes: %QTJava%;"i\QTJava.zip";C:\Dokumente und Einstellungen\Desktop\
anstatt zuvor: %QTJava%;"i\QTJava.zip"
wenn meine .class Datei in "Desktop" liegt?
wenn du eine klasse direkt aus einem verzeichnis mit dem java befehl starten willst, dann musst du doch nicht noch pfad in den classpath aufnehmen!?
das ist nur dann nötig, wenn deine klasse z.b. noch weitere klassen benutzt, die irgendwo anders liegen.
ich kann beliebige klassen an beliebigen orten ausführen, ohne jemals irgendwas am classpath zu ändern. es muss halt nur ein . drinstehen und der pfad zum java/bin verzeichnis muss gesetzt sein.
der punkt (".") im CLASSPATH steht für das aktuelle verzeichnis, in dem du dich befindest. wenn sich die class datei also eh im verzeichnis befindet, von dem du sie aufrufst, dann brauchst du auch nichts im CLASSPATH ändern. das steht übrigens auch so in dem link, denn du vor 5 min gepostet hast:
Der CLASSPATH ist eine Auflistung aller Pfade, in denen bei Bedarf nach den benötigten Klassen gesucht werden soll. Standardmäßig ist im CLASSPATH nur das aktuelle Verzeichniss enthalten, in dem man sich gerade befindet (".").
der punkt (".") im CLASSPATH steht für das aktuelle verzeichnis, in dem du dich befindest. wenn sich die class datei also eh im verzeichnis befindet, von dem du sie aufrufst, dann brauchst du auch nichts im CLASSPATH ändern. das steht übrigens auch so in dem link, denn du vor 5 min gepostet hast.