Ändern der aktuellen Java-Version unter Windows

16

Ich arbeite in einer Windows XP-Umgebung und habe kürzlich Java 1.6 installiert, da es von einer Anwendung benötigt wurde.

Ich möchte jedoch nicht, dass dies die Standardversion von Java ist. Wie stelle ich es so ein, dass der Befehl java -version 1.5.x zurückgibt

Dunc
quelle
Ich würde einen Blick auf pathUmgebungsvariable werfen . Sie können es in der Befehlszeile überprüfen mit : echo %PATH%. Dies sind Standardordner, in denen nach Binärdateien gesucht wird. Wenn Sie einen Pfad zu JAVA finden, können Sie ihn einfach in den Systemeinstellungen anpassen.
Rekin

Antworten:

21

Ändern Sie Ihre PATH-Variable so, dass sie den Speicherort des Verzeichnisses jdk5 / bin enthält:

  1. Start -> Systemsteuerung -> System -> Erweitert
  2. Klicken Sie unter Systemvariablen auf Umgebungsvariablen, suchen Sie PATH und klicken Sie darauf.
  3. Ändern Sie in den Bearbeitungsfenstern PATH, indem Sie am Anfang den Speicherort Ihres Verzeichnisses jdk5 / bin hinzufügen. Wenn Sie das Element PATH nicht haben, können Sie eine neue Variable hinzufügen und PATH als Namen und den Speicherort des Verzeichnisses als Wert hinzufügen.
  4. Schließe das Fenster.
  5. Öffnen Sie das Eingabeaufforderungsfenster erneut und führen Sie es aus java -version
Dogbane
quelle
Das hat nicht funktioniert. Der jre bin war bisher nicht Teil des Pfades, daher muss er woanders eingestellt werden.
Dunc
9
Dies liegt daran, dass bei der Installation von Java die Bins in C: \ WINDOWS \ system32 abgelegt werden, das Teil Ihres PATH ist. Sie sollten das Verzeichnis jre / bin am Anfang des PFADS hinzufügen.
Dogbane
Entschuldigung, ich habe den Anfang nicht erkannt. Vielen Dank
Dunc
3
Wenn Sie mehrere JREs installiert haben, können Sie dies nur durch Ändern des Registrierungseintrags erreichen. Vor allem, weil es Tools gibt, die die JRE-Informationen aus der Registrierung und nicht den Klassenpfad lesen.
Ayusman
17

In der Befehlsshell:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

Dadurch wird die Umgebung vorübergehend in der Befehlsshell eingerichtet. Maven, Ant usw. übernehmen Ihre neue Java-Version, ohne wiederholt zur Systemsteuerung wechseln zu müssen.

Tools wie Eclipse sollten in der Lage sein, auszuwählen, welches JDK in ihren eigenen Konfigurationstools für die Verwendung in ihren Umgebungen verwendet werden soll.

Mike Thomsen
quelle
6

Java 8 erstellt drei Verknüpfungen zu \ ProgramData \ Oracle \ Java \ javapath, die auf die neuesten Java8-Dateien java.exe, javaw.exe und javaws.exe verweisen, und setzt dann \ ProgramData \ Oracle \ Java \ javapath an die Vorderseite des Pfads Unabhängig davon, was Sie mit der Umgebungsvariablen JAVA_PATH tun, erhalten Sie immer noch das neueste Java 8.

Sie können dies umgehen, indem Sie

1) Umbenennen von \ ProgramData \ Oracle \ Java \ javapath in etwas anderes (z. B. \ ProgramData \ Oracle \ Java \ javapath8)

2) Erstellen eines neuen Javapath-Ordners unter Java und

3) Erstellen Sie die Verknüpfungen, die Sie benötigen.

Stellen Sie einfach den Javapath wieder her, wenn Sie mit den alten Versionen fertig sind und Java 8 zurückerhalten.

Ron
quelle
1
Nun, Sie können Ihren alten Java-Speicherort immer an erster Stelle im PATH platzieren, und er wird gewinnen.
Leonbloy
Kurz, aber auf den Punkt gebracht, sehr gute Antwort, hier wird genauer erklärt, wie mehrere Versionen von javapathOrdnern mithilfe symbolischer Links generiert werden , sodass Sie ohne Zeitaufwand zwischen den Versionen und dem hier fehlenden Registrierungsmaterial, Screenshots und Tricks wechseln können um einen Neustart auch nach Änderungen zu vermeiden. Siehe stackoverflow.com/questions/27996603 .
3

Es gibt zwei Möglichkeiten, dies zu beheben:

1) Ändern Sie den PFAD (wie bereits erwähnt). Bei dieser Lösung ist es wichtig, JAVA_HOME vor den Windows-Pfaden zu setzen. Dies liegt daran, dass sich unter dem Windows-Ordner eine java.exe befindet, die zum zuletzt installierten jre umleitet .

2) Regedit. Der Schlüssel HKEY_LOCAL_MACHINE-> SOFTWARE-> JAVASOFT-> Java Runtime Environment enthält die zuletzt installierte Version, zu der die Datei java.exe im Windows-Ordner umleitet. Wenn Sie dies auf eine zuvor installierte Version ändern, sollte alles pfirsichfarben sein. (Zumindest denke ich, dass dies der richtige Registrierungsschlüssel ist)


quelle
1

Die neueste Version von JRE, die Sie immer haben, hat Vorrang vor allen PATH-Einstellungen. Deinstallieren Sie also die 1.6 JRE, wenn Sie nicht möchten, dass sie die Hauptversion ist. Sie können beliebig viele JDKs parallel installieren.

adarshr
quelle
1

Da Java eine -versionBefehlszeilenoption unterstützt , können Sie damit eine bestimmte auszuführende Version auswählen, z.

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

führt eine JAR-Anwendung in Java 1.7 aus, wenn sie installiert ist.

Weitere Informationen finden Sie in der Dokumentation von Oracle .

Akhilesh Dubey
quelle
@Jawa das java -version:1.7 -jar [path to jar file]wird nicht mehr unterstützt. Möglicherweise müssen Sie die PATH-Route beachten.
Adeola Ojo
0

Erstellen Sie eine "setjava.bat" -Datei und speichern Sie diese Datei mit dem folgenden Inhalt. Vergessen Sie nicht, JAVA_PATH für Ihr System zu ändern. Denken Sie auch daran, diese Datei mit der Erweiterung .bat zu speichern.

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" (
 set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE (
 REM At present I only need to assign 8 by default if not 7
 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

Jetzt führen Sie dieses Skript nur noch mit Administratorrechten aus.

Beispiel: setjava 8, setjava 7

Überprüfen Sie diesen Link für weitere Details

Ricky
quelle