Wie kann ich die Java-Laufzeitversion unter Windows (7) ändern?

Lesezeit: 9 Minuten

Benutzer-Avatar
Tomkpunkt

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 verwendete System ändern JRE in der Systemsteuerung/Java/JRE-Registerkarte? Ich kann die vom Benutzer verwendete Version ändern/bearbeiten/hinzufügen/löschen, aber nicht die vom System verwendete.

Benutzer-Avatar
Karl Smotricz

Für Java Anwendungendh Programme, die (meistens) als ausgeliefert werden .jar Dateien und begann mit java -jar xxx.jar oder über eine Verknüpfung, die dasselbe tut, wird die JRE, die gestartet wird, die erste sein, die auf der gefunden wird PATH.

Wenn Sie eine JRE oder ein JDK installiert haben, sind die wahrscheinlichen Orte, an denen Sie die .exes sind unterhalb von Verzeichnissen wie C:\Program Files\JavaSoft\JRE\x.y.z. Ich habe jedoch einige “out of the box” Windows-Installationen gefunden, von denen ich (auch?) Kopien haben kann java.exe und javaw.exe in C:\winnt\system32 (NT und 2000) bzw C:\windows\system (Windows 95, 98). Dies ist normalerweise eine ziemlich ältere Version von Java: 1.3 vielleicht? Sie werden tun wollen java -version in einem Befehlsfenster, um zu überprüfen, ob Sie nicht eine veraltete Version von Java ausführen.

Sie können die PATH-Einstellung natürlich überschreiben oder sogar ganz darauf verzichten, indem Sie den Pfad zu java.exe / javaw.exe explizit in Ihrer Kommandozeilen- oder Shortcut-Definition angeben.


Wenn du rennst Applets aus dem Browser, oder evtl. auch Java Web Start-Anwendungen (sie sehen wie Anwendungen aus, insofern sie ihr eigenes Fenster haben, aber Sie starten sie vom Browser aus), die Wahl von 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

dh eine für die Hauptversion und eine mit der Nebenversionsnummer. 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 wird anhand dieser Einstellungen feststellen, welche JRE gestartet werden soll.

Da sich die Java-Versionen ziemlich häufig ändern, gibt es jetzt einen “Assistenten” namens “Java Control Panel”, mit dem Sie die Java-Version Ihres Browsers manuell wechseln können. Dies funktioniert für IE, Firefox und wahrscheinlich auch andere wie Opera und Chrome: Es ist das ‘Java’-Applet in Windows. System Settings App. Sie können eine der installierten JREs auswählen. Ich glaube, dass der Assistent mit diesen Registrierungseinträgen herumspielt.

Wenn Sie wie ich alte Java-Versionen “deinstalliert” haben, indem Sie einfach Verzeichnisse löschen, werden Sie diese “Geister” auch unter den Auswahlmöglichkeiten finden; Stellen Sie also sicher, dass die von Ihnen gewählte JRE einer intakten Java-Installation entspricht!


Einige andere Antworten empfehlen die Einstellung von Umgebung Variable JAVA_HOME. Das ist mittlerweile ein überholter Rat. Sun erkannte um Java 2 herum, dass es sich um diese Umgebungseinstellung handelt

  1. unzuverlässig, da Benutzer es oft falsch einstellen, und
  2. unnötig, da es für die Laufzeit einfach genug ist, die Java-Bibliotheksverzeichnisse zu finden, da sie weiß, dass sie sich in einem festen Pfad relativ zu dem Pfad befinden, von dem aus java.exe oder javaw.exe gestartet wurde.

Es gibt kaum noch eine moderne Java-Software, die die benötigt oder respektiert JAVA_HOME Umgebungsvariable.


Mehr Informationen:

…und einige nützliche Informationen zur Unterstützung mehrerer Versionen:

  • Der Standard-Java7-Assistent installiert auch java.exe, javaw.exe und javaws.exe unter C:\Windows\System32\ unter Windows 7. Dies ist kein Legacy-Problem. Tolle Antwort jedenfalls!

    – Lucas Höpner

    22. Oktober 2012 um 14:40 Uhr

  • Wenn Sie Ihre Java-Version aktualisieren, werden Sie möglicherweise feststellen, dass Sie immer noch die alte Version verwenden, wenn sie in der PATH-Umgebungsvariable enthalten ist.

    – G O’Rilla

    28. Juni 2014 um 6:40 Uhr

  • @LucasHoepner – Neuere Versionen von Java installieren einen Stub in c:\windows\system32, der das System durchsucht, um die zuletzt installierte Version von Java zu identifizieren und diese aufzurufen. Sie haben kein Problem damit, dass sie aufgrund dieser Kopie standardmäßig eine veraltete Version aufrufen.

    – Jules

    30. Juni 2014 um 22:03 Uhr

  • Versuchen java -showversion Anstatt von java -version.

    – Grimm

    11. Oktober 2014 um 6:56 Uhr

  • Sehr gute und detaillierte Antwort, aber es fehlt die neue Best Practice, die Java in Bezug auf das Wechseln der Pfadposition einführt. siehe stackoverflow.com/questions/27996603.

    Benutzer257319

    12. Januar 2016 um 0:58 Uhr

Benutzer-Avatar
Mia

Früher habe ich auf UNIX-ähnlichen Maschinen gearbeitet, aber in letzter Zeit musste ich etwas mit Java auf einer Windows 7-Maschine arbeiten. Ich hatte dieses Problem und das ist das, was ich gelöst habe. Es hat für mich richtig funktioniert, also hoffe ich, dass es für alle verwendet werden kann, die dieses Problem in Zukunft haben könnten.

Diese Schritte werden unter Berücksichtigung einer Standard-Java-Installation auf Laufwerk C: angezeigt. Sie sollten ändern, was erforderlich ist, falls Ihre Installation keine Standardinstallation ist.

Ändern Sie die Java-Standard-VM unter Windows 7

Angenommen, wir haben Java 8 installiert, möchten aber aus irgendeinem Grund bei Java 7 bleiben.

1- Starten Sie ein cmd als Administrator

2- Gehen Sie zu C:\ProgramData\Oracle\Java

3- Benennen Sie das aktuelle Verzeichnis um Javapfad zu javapath_. Z.B: rename javapath javapath_1.8

4- Erstellen Sie a javapath_ Verzeichnis. Z.B: mkdir javapath_1.7

5- cd hinein und erstelle 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 aus und erstellen Sie eine Verzeichnisverknüpfung Javapfad zeigt auf den gewünschten Javapfad. Z.B: 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 den Wert 1,7 haben

An dieser Stelle, wenn Sie ausführen java -version Sie sollten sehen, 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 einen Verzeichnislink namens CurrentVersion in C:\Program Files\Java, 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 sobald dies erledigt ist:

  • Klicken Sie mit der rechten Maustaste auf Arbeitsplatz und wählen Sie Eigenschaften.
  • Wählen Sie auf der Registerkarte Erweitert Umgebungsvariablen aus und bearbeiten/erstellen Sie dann JAVA_HOME, um auf den Speicherort der JDK-Software zu verweisen, in diesem Fall C:\Programme\Java\CurrentVersion

  • @Mia Hallo Mia, ich habe diese Lösung ausprobiert, aber ich bekomme dabei die folgende Fehlermeldung java -version : Error : Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion has value '1.7' but '1.8' is required. Error : could not find java.dll. Error : Could not find Java SE Runtime Environment

    – Yassin Hajaj

    22. Juli 2016 um 13:16 Uhr

  • Hallo @YassinHajaj, ich weiß nicht, ob ich viel helfen kann, da ich dieses Setup derzeit nicht mehr habe. Wie auch immer, es sieht so aus, als ob es einige Probleme auf Ihrem Pfad geben könnte. Stellen Sie sicher, dass Sie die Dateien nicht wirklich kopieren, sondern stattdessen Softlinks erstellen (Schritt 5). Gleiches gilt für die javapath und CurrentVersion Verzeichnisse (Schritte 6 und 8). Viel Glück!

    – Mi

    25. Juli 2016 um 11:20 Uhr

  • @Mia Danke, dass du dir die Zeit genommen hast zu antworten. Ich werde es versuchen, sobald ich zu Hause bin. Ansonsten bin ich dazu verdammt, Java 8 zu verwenden :D. Aber es war für Android und es ist jetzt kompatibel, also eigentlich keine große Sache.

    – Yassin Hajaj

    25. Juli 2016 um 12:21 Uhr

  • Es funktioniert nicht, wenn ich versuche, die Java-Version innerhalb derselben Version 1.8 oder 1.7 zu wechseln, z. B. Java 8 102 oder Java 8 171

    – Harvey Lin

    23. Mai 2018 um 17:02 Uhr

  • Hallo @HarveyLin. Ich weiß es nicht, da ich seit 2015 nicht mehr damit arbeite und dieses Setup nicht mehr habe. Ich würde vorschlagen, die spezifische Java-Version einzustellen Schritt 7so ist es 1.8.102 oder 1.8.171. Seien Sie jedoch vorsichtig, ich weiß nicht, welche Nebenwirkungen dies haben kann. Bitte teilen Sie uns mit, ob dies funktioniert hat, oder teilen Sie uns eine Lösung mit, wenn Sie eine finden.

    – Mi

    23. Mai 2018 um 22:17 Uhr


Seit Java 1.6 wird eine java.exe in %windir%\system32 installiert, die eine “-version”-Kommandozeilenoption unterstützt. Sie können dies verwenden, um eine bestimmte Version zum Ausführen auszuwählen, z.

java -version:1.7 -jar [path to jar file]

führt eine JAR-Anwendung in Java 1.7 aus, falls diese installiert ist.

Siehe die Dokumentation von Oracle hier: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

Sobald ich meine Java-Version auf 8 aktualisiert habe, wie vom Browser vorgeschlagen. Ich hatte jedoch ausgewählt, die vorherige Java 6-Version zu deinstallieren, die ich zum Codieren meiner Projekte verwendet habe. Wenn ich den Befehl in “java -version” eingebe cmd Es zeigte 1.8 und ich konnte Eclipse IDE nicht starten, das auf Java 1.6 ausgeführt wurde.

Als ich das Java 8-Update für den Browser installierte, hatte es die Systemvariable “PATH” geändert, die “C:\ProgramData\Oracle\Java\javapath” an den Anfang anhängt. Der neu hinzugefügte Pfad zeigte auf Java Version 8. Also habe ich diesen Pfad aus der Systemvariable “PATH” entfernt und alles hat gut funktioniert. 🙂

Gehen Sie zu Systemsteuerung –> Java Hier können Sie die aktive Version auswählen

  • Dies hat keine Auswirkungen auf Java 7, die öffentliche JRE in C:\Program Files wird immer anstelle Ihres angegebenen Pfads verwendet.

    – rostig

    17. April 2014 um 9:57 Uhr

  • Es ist besser, die PATH-Variable zu ändern, wenn sie von einer anderen Java-Installation überschrieben wird.

    – Asanka Siriwardena

    1. April 2016 um 9:20 Uhr

Benutzer-Avatar
David Jung

Alles, was Sie tun müssen, ist, die PATH-Umgebungsvariable in Windows so einzustellen, dass sie auf Ihr java6-bin-Verzeichnis zeigt, anstatt auf das java7-Verzeichnis.

Klicken Sie mit der rechten Maustaste auf Arbeitsplatz > Erweiterte Systemeinstellungen > Erweitert > Umgebungsvariablen

Wenn es eine JAVA_HOME-Umgebungsvariable gibt, setzen Sie diese ebenfalls so, dass sie auf das richtige Verzeichnis zeigt.

  • Dies hat keine Auswirkungen auf Java 7, die öffentliche JRE in C:\Program Files wird immer anstelle Ihres angegebenen Pfads verwendet.

    – rostig

    17. April 2014 um 9:57 Uhr

  • Es ist besser, die PATH-Variable zu ändern, wenn sie von einer anderen Java-Installation überschrieben wird.

    – Asanka Siriwardena

    1. April 2016 um 9:20 Uhr

Benutzer-Avatar
Syntax

Aktualisieren Sie Ihre Umgebungsvariablen

Stellen Sie sicher, dass der Verweis auf Java/bin in „Pfad“ aktuell ist; Dies kann automatisch erfolgen, wenn Sie JAVA_HOME oder ein gleichwertiges Set haben. Wenn JAVA_HOME festgelegt ist, aktualisieren Sie es einfach, um auf die ältere JRE-Installation zu verweisen.

1080570cookie-checkWie kann ich die Java-Laufzeitversion unter Windows (7) ändern?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy