Wie kann ich die Java-Laufzeitversion unter Windows ändern?.
Ich habe Java 7 für einige Tests installiert und brauche jetzt das alte Java6 als Systemstandard, aber ich möchte Java 7 nicht deinstallieren (ich brauche es für spätere Tests). Kann ich das vom System verwendete JRE in der Systemsteuerung/Java/JRE-Registerkarte ändern? Ich kann die vom Benutzer verwendete Version ändern/bearbeiten/hinzufügen/löschen, nicht jedoch das vom System verwendete.
Für Java applications, d. H. Programme, die (normalerweise) als .jar
-Dateien ausgeliefert und mit Java -jar xxx.jar
oder über eine Verknüpfung, die dasselbe tut, gestartet werden, wird die JRE, die gestartet wird, die erste sein, die in der PATH
gefunden wird.
Wenn Sie eine JRE oder ein JDK installiert haben, befinden sich die .exe
s wahrscheinlich unter den Verzeichnissen wie C:\Program Files\JavaSoft\JRE\x.y.z
. Ich habe jedoch festgestellt, dass einige "out-of-the-box" Windows-Installationen (auch?) Kopien von Java.exe
und javaw.exe
in C:\winnt\system32
(NT und 2000) oder C:\windows\system
(Windows 95, 98) haben. Dies ist normalerweise eine ziemlich ältere Version von Java: 1.3, vielleicht? Sie sollten Java -version
in einem Befehlsfenster ausführen, um zu überprüfen, ob Sie keine veraltete Java-Version ausführen.
Sie können die PATH-Einstellung natürlich außer Kraft setzen oder auch auf sie verzichten, indem Sie den Pfad zu Java.exe/javaw.exe explizit in Ihrer Befehlszeile oder in der Verknüpfungsdefinition angeben.
Wenn Sie applets vom Browser aus ausführen oder möglicherweise auch Java Web Start-Anwendungen (sie sehen insofern aus, als hätten sie ein eigenes Fenster, starten Sie sie jedoch über den Browser), können Sie wählen JRE wird durch eine Reihe von Registrierungseinstellungen bestimmt:
Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3
Weitere Registrierungsschlüssel werden mit diesem Schema erstellt:
(e.g.)
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1
eine für die Hauptversion und eine, die die Nebenversionsnummer enthält. Jeder dieser Schlüssel hat Werte wie diese (Beispiele gezeigt):
JavaHome : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1
... und Ihr Browser prüft anhand dieser Einstellungen, welche JRE gestartet werden soll.
Da sich die Java-Versionen häufig ändern, gibt es jetzt einen "Assistenten", der "Java-Systemsteuerung", mit dem Sie die Java-Version Ihres Browsers manuell wechseln können. Dies funktioniert für IE, Firefox und wahrscheinlich auch für Opera und Chrome: Es ist das Java-Applet System Settings
in Windows. Sie können eine der installierten JREs auswählen. Ich glaube, dass der Assistent mit diesen Registry-Einträgen spielt.
Wenn Sie wie ich sind und alte Java-Versionen durch einfaches Löschen von Verzeichnissen "deinstalliert" haben, finden Sie diese "Geister" auch in der Auswahl. Stellen Sie daher sicher, dass die von Ihnen gewählte JRE einer intakten Java-Installation entspricht.
In einigen anderen Antworten wird empfohlen, die Umgebung Variable Java_HOME
festzulegen. Dies ist mittlerweile veraltete Beratung. Sun kam um Java 2 zu der Erkenntnis, dass diese Umgebungseinstellung ist
Es gibt kaum noch moderne Java-Software, die die Umgebungsvariable Java_HOME
benötigt oder respektiert.
Mehr Informationen:
... und einige nützliche Informationen zur Unterstützung mehrerer Versionen:
Ich arbeite auf UNIX-ähnlichen Maschinen, aber vor kurzem musste ich mit Java auf einem Windows 7-Computer arbeiten. Ich hatte dieses Problem und das ist das, was ich gelöst habe. Es hat richtig für mich funktioniert, also hoffe ich, dass es für jeden verwendet werden kann, der dieses Problem in der Zukunft hat.
Diese Schritte werden in Anbetracht einer Java-Standardinstallation auf Laufwerk C erläutert. Sie sollten das Notwendige ändern, falls Ihre Installation keine Standardinstallation ist.
Angenommen, wir haben Java 8 installiert, aber aus irgendeinem Grund möchten wir Java 7 beibehalten.
1- Starten Sie eine cmd als Administrator
2- Gehe zu C:\ProgramData\Oracle\Java
3- Benennen Sie das aktuelle Verzeichnis javapath in javapath_ <version_it_refers_to> um. Beispiel: rename javapath javapath_1.8
4- Erstellen Sie ein javapath_ <version_you_want_by_default> Verzeichnis. Beispiel: mkdir javapath_1.7
5- cd hinein und erstellen Sie die folgenden Links:
cd javapath_1.7
mklink Java.exe "C:\Program Files\Java\jre7\bin\Java.exe"
mklink javaw.exe "C:\Program Files\Java\jre7\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jre7\bin\javaws.exe"
6- cd out und erstellen Sie einen Verzeichnislink javapath , der auf den gewünschten javapath zeigt. Beispiel: mklink /D javapath javapath_1.7
7- Öffnen Sie das Register und ändern Sie den Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion , um den Wert 1,7 zu erhalten
Wenn Sie an dieser Stelle Java -version
ausführen, sollten Sie feststellen, dass Sie Java Version 1.7 verwenden:
Java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
8- Schließlich ist es eine gute Idee, die Umgebungsvariable Java_HOME zu erstellen. Dazu erstelle ich in C:\Programme\Java einen Verzeichnislink mit dem Namen CurrentVersion, der auf die Java-Version verweist, an der ich interessiert bin. Beispiel:
cd C:\Program Files\Java\
mklink /D CurrentVersion .\jdk1.7.0_71
9- Und wenn dies getan ist:
Seit Java 1.6 ist in% windir%\system32 eine Java.exe installiert, die eine Befehlszeilenoption "-version" unterstützt. Sie können dies verwenden, um eine bestimmte Version auszuwählen, die ausgeführt werden soll, z.
Java -version:1.7 -jar [path to jar file]
führt eine jar-Anwendung in Java 1.7 aus, falls diese installiert ist.
Die Oracle-Dokumentation finden Sie hier: http://docs.Oracle.com/javase/6/docs/technotes/tools/windows/Java.html
Einmal habe ich meine Java-Version auf 8 aktualisiert, wie vom Browser vorgeschlagen. Ich hatte mich jedoch für die Deinstallation der vorherigen Java 6-Version entschieden, die ich zum Codieren meiner Projekte verwendet habe. Wenn ich den Befehl in .__ eingebe. "Java-version" in cmd zeigte er 1.8 an und ich konnte Eclipse IDE nicht auf Java 1.6 ausführen.
Bei der Installation des Java 8-Updates für den Browser wurde die Systemvariable "PATH" mit "C:\ProgramData\Oracle\Java\javapath" an den Anfang geändert. Der neu hinzugefügte Pfad zeigte auf Java Version 8. Also entfernte ich diesen Pfad aus der Systemvariablen "PATH" und alles funktionierte einwandfrei. :)
Gehen Sie zu Systemsteuerung -> Java Hier können Sie die aktive Version auswählen
Sie müssen lediglich die Umgebungsvariable PATH in Windows so einstellen, dass sie auf das Java-Bin-Verzeichnis anstelle des Java-7-Verzeichnisses verweist.
Klicken Sie mit der rechten Maustaste auf Arbeitsplatz> Erweiterte Systemeinstellungen> Erweitert> Umgebungsvariablen
Wenn eine Java_HOME-Umgebungsvariable vorhanden ist, setzen Sie diese ebenfalls auf das richtige Verzeichnis.
Wenn Sie Windows 10 oder Windows Server 2012 verwenden, ändern Sie die Java-Laufzeitversion folgendermaßen:
Aktualisieren Sie Ihre Umgebungsvariablen
Stellen Sie sicher, dass der Verweis auf Java/bin in 'Path' auf dem neuesten Stand ist. Dies kann automatisch sein, wenn Sie Java_HOME oder ein gleichwertiges Set haben. Wenn Java_HOME gesetzt ist, aktualisieren Sie es einfach, um auf die ältere JRE-Installation zu verweisen.