Umgebungsvariable Bytecode per CMD interpretieren => unverständlicher Fehler

@author

Mitglied
Hallo Com,

Ausgangspunkt war eigentlich nur den von Eclipse bereits erzeugten Bytecode (in diesem Fall "HelloWorld.class") per CMD interpretieren zu lassen.
Da ich normalerweise in der IDE Eclipse arbeite, ist mir das folgende Problem erst jetzt aufgefallen.

Diese Vorgehensweise sollte normalerweise schon zielführend sein:
1. CMD öffnen
2. per cd ins Verzeichnis wechseln, in der die .class liegt.
3. java HelloWorld

=> "Fehler: Hauptklasse HelloWorld konnte nicht gefunden oder geladen werden"

HelloWorld.class in korrekter Schreibweise (Groß- und Kleinschreibung beachtet) befindet sich in dem aber navigierten Verzeichnis!

Nun habe ich testweise das Programm "HelloWorld.java" auch mal per CMD kompilieren lassen mit dem Befehl "javac HelloWorld.java", was ohne Probleme funktioniert (.class wird im entsprechenden Ordner angelegt). Wenn ich dann "java HelloWorld" eintippe erscheint wieder der selbe Fehler wie oben.

Ich denke das hat irgendeinen Zusammenhang mit den Umgebungsvariablen.
Als ich das vor ca. einem halben Jahr mal gemacht habe, hat noch alles wunderbar funktioniert.

Ich hab vor kurzem auch Java 8 installiert. Aber verwende immer noch das JDK 7, welches auch in den Systemvariablen unter PATH eingepflegt ist. Zusätzlich habe ich vor kurzem auch das JRE (8) installiert.

Ich hab jetzt mal in den Umgebungsvariablen noch die Benutzervariablen:
JAVA_HOME mit dem Wert C:\Program Files\Java\jdk1.7.0_45
JRE_HOME mit dem Wert C:\Program Files\Java\jre1.8.0_25

sowie in den Systemvariablen:
CLASSPATH mit dem Wert C:\Program Files\Java\jdk1.7.0_45\lib

eingetragen.

und an die Systemvariable PATH noch folgendes für´s JRE angehängt:
;C:\Program Files\Java\jre1.8.0_25\bin

Achja, wenn ich in die CMD nur javac oder java eingebe kommen die ganzen Sachen auch.

Ich würde jetzt gerne wissen, wie ich das Programm in der CMD ans laufen kriege (JDK 8 installieren oder was auch immer) und ob ich die Variablen richtig eingetragen habe, bzw. wofür diese Umgebungsvariablen und der CLASSPATH nötig sind (hat ja vorher auch ohne geklappt).

Leider hab ich keine Lösung nach bisheriger Recherche gefunden und hoffe mir kann hier jemand helfen.
 
Deine Vermutung ist richtig, jedoch hatte es trotzdem nicht geklappt.

Nachdem ich nun Java komplett deinstalliert (sowohl JRE als auch JDK) und dann JDK (in dem ja JRE enthalten ist) wieder installiert + Umgebungsvariablen erstmal alte raus genommen und dann nurnoch JAVA_HOME und PATH angelegt habe, funktioniert es endlich wieder.

Ich kann jetzt also einfach in den bin Ordner navigieren und dann mit "java packagename.HelloWorld" die .class interpretieren.
🙂

Allerdings versteh ich immernoch nicht so ganz den Sinn von der Umgebungsvariablen JAVA_HOME.
Durch dieses PATH wird ja die JVM (java.exe) angesprochen, damit man durch den Befehl "java Klassenname" die jeweilge Klasse interpretieren kann. Wahrscheinlich hatte ich vorher auch irgendein Problem mit der JVM, weshalb das nicht geklappt hat.
 

Zurück
Oben