ich möchte per javac eine .java-Datei compilieren und dann per java Datei-Name ausführen.
In meinem Fall ist das Programm ein einfaches HalloWelt-Beispiel.
ich habe die Ausgabe der Konsole angehängt.
Wie man sieht, die Datei wird compiliert aber ich kann die .class Datei nicht ausführen.
Doch, die Ausgabe deutet an, dass auch java und nicht nur javac installiert ist. Aber bist du sicher, dass du eine main-Methode in deiner HelloWorld-Datei hast?
Hm, lässt sich bei mir ohne Änderungen problemlos kompilieren und starten, erhalte diese Fehlermeldung nicht. Probier mal in der Konsole [c]java -version[/c] sowie [c]javac -version[/c] und schreib, was rauskommt.
Warum liegt deine HelloWorld.java-Datei denn eigentlich im Java-Programmordner? Leg dir am besten einen eigenen Ordner für deine Programme an, aber tu das nicht in System-/Programmordner rein.
Anhand der Fehlermeldung lässt sich ableiten, dass eine JRE installiert ist.
Der Aufruf des Compilers wird ja bereits im bin-Verzeichnis gemacht...
Die Fehlermeldung sagt aus, dass die Klassendefinition von HelloWorld.java nicht gefunden wurde.
Hast du die Java-Datei genau so benannt, wie deine Klassendefinition?
Java ist Case Sensitiv, das heißt, es unterscheidet Groß- und Kleinschreibung.
Dumme Frage: Ist das Verzeichnis, wo die class-Datei landen würde, überhaupt beschreibbar? Siehst du die class-Datei, die generiert worden sein sollte?
Und: es steht auch kein [c]package[/c] am Anfang der Datei?
Hm, mir fällt gerade auf, dass du die Versionen von java und javac nicht in diesem bin-Verzeichnis ermittelt hast. Also sollten java und javac auch außerhalb dieses bin-Verzeichnisses erreichbar sein. Hast du es denn schon mal "normal" versucht, also in ganz normalen Ordnern in deinem Home-Verzeichnis?
seltsam.. also nochmal ganz von vorne...
mach ein verzeichnis c:\test
Deine Java Datei rein kopieren.
In der Eingabe Aufforderung nach c:\test navigieren
java -version
javac -version
javac DeineKlasse.java
java DeineKlasse
Wenn man mit der Konsole bereits im Verzeichnis der .class-Datei steht, braucht man nicht extra den Classpath für dieses Verzeichnis setzen.
Auch wenn es in deinem Fall funktioniert, ist das ist aber nicht der Normalfall.