JDK / JRE / PATH Verwirrungen

Voldemort92

Mitglied
Guten Morgen!

Ich verzweifle gerade ein bisschen an den Basics... hatte jetzt einige Jahre keinen Umgang mit Java und bin vielleicht etwas eingerostet.

Gestern hab ich ein kleines Programm geschrieben, welches bezüglich einer Library aber meinte, dass meine verwendete Java-Version (laut Google das JDK) zu niedrig sei. Ich wollte also natürlich Java mal auf den aktuellen Stand bringen und hab mal alles durchgeschaut.
Ich habe mehrere Java-Ordner auf dem Rechner: in C:\Programme\Java die jdk-Ordner 11.0.1 und 12.0.1 sowie in C:\Programme (x86)\Java den Ordner jre1.8.0_211.
Obige Fehlermeldung verschwand, als ich im PATH den Verweis auf den jre-Ordner durch einen auf den jdk12-Ordner ersetzt habe, soweit so gut. Mein Programm läuft nun problemlos. Nur fühle ich mich mit Datenmüll immer etwas unwohl - das JRE ist doch auch im JDK enthalten, brauche ich den jre1.8.0 Ordner dann überhaupt noch? Sollte ich einen meiner zwei jdk-Ordner löschen? java -version zeigt mir immer noch eine 11.0.1er Version an, kann ich das beheben indem ich den PATH-Verweis auf den 11.0.1er Ordner entferne, sodass dort nur noch der 12.0.1er aufgeführt ist?

Ein zweites Problem bestand darin, dass ich mein Programm (als jar) auf einem anderen Rechner testen wollte, auf dem nur eine "normale" JRE installiert ist. Long story short, dort lief es nicht und um etwas zu troubleshooten, habe ich dort auch das aktuelle JDK installiert und wie oben die PATH-Variable auf den neuen jdk-12.0.1 Ordner gesetzt. Daraufhin ließ sich "java -version" zb gar nicht mehr starten - es kam die klassische "der Befehl java ist entweder falsch geschrieben..." Fehlermeldung, als hätte ich PATH nicht gesetzt.

TL;DR: Ich hab mich etwas verheddert. Wäre über eine kleine Anleitung (gerne Schritt für Schritt) dankbar, wie ich da wieder rauskomme...
Danke im Voraus und sorry für die vermutlich etwas dilettantischen Versuche meinerseits.
 
Schmeiß alles runter, was Du nicht brauchst. Was PATH betrifft: der wird der Reihe nach durchsucht und sobald das Programm gefunden wurde, wird dieses verwendet. Hast Du also z. B. mehrere Verzeichnisse mit "java.exe", dann ist das erste im PATH ausschlaggebend. Es reicht aber nicht, den JDK-Ordner aufzunehmen, Du musst schon den Ordner verwenden, in der sich die ausführbare Datei befindet, also den bin-Ordner.
 
Jo, mach ich mal. Geh ich recht in der Annahme dass ich keine zusätzliche JRE brauche, weil die im JDK enthalten ist?
Sollte ich deinstallierte Java-Versionen aus PATH entfernen oder ist das egal, solange die aktuelle Version auch drinsteht?

Aber irgendeine Idee, warum der zweite Rechner den Java-Befehl nicht erkennt, obwohl JDK installiert und in PATH eingetragen ist?
 
Geh ich recht in der Annahme dass ich keine zusätzliche JRE brauche, weil die im JDK enthalten ist?
Ja.

Sollte ich deinstallierte Java-Versionen aus PATH entfernen oder ist das egal, solange die aktuelle Version auch drinsteht?
Warum solltest Du Pfade zu nicht existierenden Verzeichnissen im Pfad lassen?

Aber irgendeine Idee, warum der zweite Rechner den Java-Befehl nicht erkennt, obwohl JDK installiert und in PATH eingetragen ist?
Wie gesagt, das bin-Verzeichnis des JDK muss im Pfad stehen. Und: auf bereits geöffneten Eingabeaufforderungen wirken sich Änderungen am PATH, die über die Systemsteuerung vorgenommen wurden, nicht aus.
 
Warum solltest Du Pfade zu nicht existierenden Verzeichnissen im Pfad lassen?

Diesmal werde ich zwar natürlich dran denken, aber es würde mich nicht wundern wenn ich eines Tages ein Programm deinstalliere, wo ich nicht im Kopf hatte dass ich es auch aus der Variablen nehmen sollte. Da wollte ich nur mal nachfragen ob das negative Auswirkungen haben könnte.

Wie gesagt, das bin-Verzeichnis des JDK muss im Pfad stehen. Und: auf bereits geöffneten Eingabeaufforderungen wirken sich Änderungen am PATH, die über die Systemsteuerung vorgenommen wurden, nicht aus.

Der Pfad ist korrekt und selbst Systemneustart hat nichts gebracht. Ich werde einfach mal Java komplett runternehmen und neu aufziehen, kann mir dieses Verhalten aber trotzdem nicht erklären. Wenn man das googlet, findet man natürlich auch 100 Threads wo jemand die bin nicht in PATH gepackt hat, aber quasi keinen, wo es andere Ursachen gab.
 
Da wollte ich nur mal nachfragen ob das negative Auswirkungen haben könnte.
Nur vergeudete Suchzeit.

Der Pfad ist korrekt und selbst Systemneustart hat nichts gebracht. Ich werde einfach mal Java komplett runternehmen und neu aufziehen, kann mir dieses Verhalten aber trotzdem nicht erklären. Wenn man das googlet, findet man natürlich auch 100 Threads wo jemand die bin nicht in PATH gepackt hat, aber quasi keinen, wo es andere Ursachen gab.
Wenn Du direkt in das Verzeichnis wechselst und dort .\java aufrufst, funktioniert das?
 

Zurück
Oben