2 Java Versionen
Hallo,
ich habe zwei Programme die beide Java benötigen.
Jedoch laufen die Programme nur, wenn unterschiedliche Versionen von Java installiert sind.
Das eine braucht normal Version 8 Update 311.
Das zweite Programm braucht jdk-11.0.13_windows-x64.
Wenn beide installiert sind, läuft immer nur das Programm dessen zugehörige Java Version als letztes installiert ist.
Ich hoffe man versteht wie und was ich meine.
Kann man hier Tipps geben?
Danke!
ich habe zwei Programme die beide Java benötigen.
Jedoch laufen die Programme nur, wenn unterschiedliche Versionen von Java installiert sind.
Das eine braucht normal Version 8 Update 311.
Das zweite Programm braucht jdk-11.0.13_windows-x64.
Wenn beide installiert sind, läuft immer nur das Programm dessen zugehörige Java Version als letztes installiert ist.
Ich hoffe man versteht wie und was ich meine.
Kann man hier Tipps geben?
Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1490148069
Url: https://administrator.de/contentid/1490148069
Ausgedruckt am: 25.11.2024 um 10:11 Uhr
5 Kommentare
Neuester Kommentar
Entsprechende JAVA_HOME Umgebungsvariable vor dem Ausführen der jeweiligen Anwendung auf die gewünschte Java Version setzen (z.B. Start via Script)
Multiple Java versions running concurrently under Windows
Oder das JAR der Anwendung direkt mit der jeweilgen JAVA-EXE aus den bin Verzeichnissen der JRE Versionen starten.
Multiple Java versions running concurrently under Windows
Oder das JAR der Anwendung direkt mit der jeweilgen JAVA-EXE aus den bin Verzeichnissen der JRE Versionen starten.
Zitat von @survial555:
Das Programm, welches das JDK11 braucht, ist keine direkt Java Anwendung. Es wird eine EXE gestartet, die aber meldet, dass zum Starten JDK11 benötigt wird.
Dann stell JDK11 als Standard in der PATH Variablen ein.Das Programm, welches das JDK11 braucht, ist keine direkt Java Anwendung. Es wird eine EXE gestartet, die aber meldet, dass zum Starten JDK11 benötigt wird.
Programm 2 ist eine JAR Datei. Sie braucht die 8er.
Beim Starten des JAR Programms erhalte ich immer die Meldung:
Fehler in Thread{main,5,main]
sun/misc/BASE64Decoder
Und das startest du mit explizitem Aufruf der jave.exe aus dem jrd/jdk 8 Verzeichnis.Beim Starten des JAR Programms erhalte ich immer die Meldung:
Fehler in Thread{main,5,main]
sun/misc/BASE64Decoder
Hi
Die Suche nach Programmen und Modulen die von einem Programm benötigt werden beginnt meist im eigenen Ordner - also hier der Ordner in dem deine EXE gespeichert ist.
Wenn du
die JDK11 im selben Ordner wie die aufrufende EXE speicherst, könnte das schon funktionieren...
.. vorausgesetzt die EXE wertet nicht zuerst die PATH oder JAVA_HOME Variablen aus.
Falls doch, ggf. die Variablen temporär von Java-Verweisen befreien.
Viel Erfolg!
.P.S.
Das ist natürlich auch nur ein Workaround, keine Lösung.
Und: Wenn deine EXE zum Ausführen selbstentpackend ist, wird das auch nicht funktionieren, weil die eigentliche (.jar ?) Datei in einem Temp-Ordner entpackt und von da ausgeführt wird.
Das manuelle Entpacken der EXE - mit 7zip, etc - könnte dir aber helfen die eigentliche Datei zu finden und über obige Tipps zu starten ...
PPS
Auch möglich. das deine EXE die Java Module zur Laufzeit aus dem Internet in einen Temp-Ordner lädt um stets aktuell zu sein.
Dann wird das Entpacken der EXE nichts bringen und bei unterbrochener Internet-Verbindung müsste eine Fehlermeldung deswegen beim Ausführen kommen...
Die Suche nach Programmen und Modulen die von einem Programm benötigt werden beginnt meist im eigenen Ordner - also hier der Ordner in dem deine EXE gespeichert ist.
Wenn du
die JDK11 im selben Ordner wie die aufrufende EXE speicherst, könnte das schon funktionieren...
.. vorausgesetzt die EXE wertet nicht zuerst die PATH oder JAVA_HOME Variablen aus.
Falls doch, ggf. die Variablen temporär von Java-Verweisen befreien.
Viel Erfolg!
.P.S.
Das ist natürlich auch nur ein Workaround, keine Lösung.
Und: Wenn deine EXE zum Ausführen selbstentpackend ist, wird das auch nicht funktionieren, weil die eigentliche (.jar ?) Datei in einem Temp-Ordner entpackt und von da ausgeführt wird.
Das manuelle Entpacken der EXE - mit 7zip, etc - könnte dir aber helfen die eigentliche Datei zu finden und über obige Tipps zu starten ...
PPS
Auch möglich. das deine EXE die Java Module zur Laufzeit aus dem Internet in einen Temp-Ordner lädt um stets aktuell zu sein.
Dann wird das Entpacken der EXE nichts bringen und bei unterbrochener Internet-Verbindung müsste eine Fehlermeldung deswegen beim Ausführen kommen...