Umgebungsvariable kann Java-Applikationen außerhalb der IDE nicht starten

MarvinsDepression

Bekanntes Mitglied
Da wurde schon viel geschrieben, auch hier, aber geholfen hat mir davon nichts. Meine Rahmenbedingungen sind: Windows10-home, sowie Open-JDK 17.0.1 (und NUR diese, sonst nix, auch keine JRE). Bis JDK 11 oder 12 hatte noch alles funktioniert. Sowohl in der Konsole, als auch GUI-Applikationen liefen probemlos, wenn ich sie in der konsole / mit dem Explorer startete.
Seit geraumer Zeit ernte ich nur noch die schon vielzitierten Fehlermeldungen:

Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

Die Umgebungsvariablen Stimmen (mehrfach geprüft), was mir aber auffällt: javapath zeigt auf eine Ordner 'javapath_target_60936156' der >4 Jahre alt ist und sicher nichts mit JDK 17+ zu tun haben kann. Die im Ordner enthaltenen exe-Dateien 'java.', 'javaw.' und 'javaws.' sind natürlich ebenso alt)
Ist es denkbar, das hier die Problemursache zu suchen ist und wie kann ich das beheben.

P.S.: De- und Neuinstallation des JDK brachte keinen Erfolg.
 
Was startest Du denn genau? Geht es um die Ausführung auf der Kommandozeile? (Davon gehe ich jetzt etwas aus.)

Was sein kann: Du hattest mal eine alte Java Version auf Deinem Rechner. Die installieren dann in System32 einige Binaries wie java.exe, javac.exe u.s.w., die dann über die Registry das aktive JDK ermitteln und dann da das entsprechende Tool starten. Bei einer Deinstallation sind diese Dateien aber nicht mit entfernt worden (War beabsichtigt, da dies globale Dateien sind).

Was es für Möglichkeiten geben könnte:
a) Es gibt Installationen, die diese alten Registry Einstellungen setzen können. Das OpenJDK der Eclipse Foundation sollte es können meine ich. Also würde diese Idee bedeuten:
1. Aktuelles JDK deinstallieren
2. Von https://adoptium.net/de/ den aktuellen Installer herunter laden.
3. Bei der Installation dann die optionalen Dinge mit auswählen: JAVA_HOME setzen und diese Registry-Keys sollten beide auswählbar sein
Danach könnte es funktionieren.

b) Manuelles Bereinigen. Also in System32 die java.exe, javac.exe u.s.w. löschen. Das Problem ist das "u.s.w." - evtl. mal schauen, was für Binaries im JDK mitkommen und dann sicher stellen, dass da nichts in system32 mit gleichem Namen ist.

c) Umbiegen des PATH. Im PATH ist das Windows und System32 Verzeichnis als erstes aufgeführt. Daher wird beim Ausführen das java.exe bzw. javac.exe von dort gestartet. Um das zu verhindern kann man das JDK an den Anfang stellen. Dann wird nichts bereinigt aber dadurch, dass die Binaries vom JDK zu erst gefunden werden, funktioniert es wieder.
 
es wäre halt gut wenn du die java version mitlieferst wie zb bei minecraft brauchste ja auch kein java installiert
 

Zurück
Oben