Das Problem
Ich habe eine neue Version der Java-Laufzeitumgebung installiert, aber der Befehl „java -version“ zeigt die neue Version nicht an.
# java -version java version "1.7.0_65" OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
Die Lösung
Dieses Problem kann aufgrund mehrerer Installationen von Java auf dem System auftreten. Wenn mehrere Versionen von openjdk-Paketen auf dem System installiert sind, Alternativen Befehl kann verwendet werden, um die Standardversion von Java festzulegen. Aus den Manpages des Befehls „alternatives“:
alternatives - maintain symbolic links determining default commands
Verwenden Sie den folgenden Befehl, um eine Standardversion von Java festzulegen, wenn Sie mehrere Java-Versionen installiert haben.
# alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java 2 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java Enter to keep the current selection[+], or type selection number: 2
Wie installiere ich einen neuen Java-Pfad zur alternativen Java-Gruppe?
Sie können auch manuell einen neuen Java-Pfad zur alternativen Java-Gruppe installieren. Dies kann mit dem Befehl update-alternatives erfolgen. Die Syntax dafür lautet wie folgt.
# update-alternatives --install [link] [name] [path] [priority]
Sie können dann den neu hinzugefügten Java-Pfad mit dem Befehl „update-alternatives“ als Systemstandard festlegen.
# update-alternatives --set [name] [path]
oder
# alternatives --set [name] [path]
1. Beispielsweise kann im Fall von jre-1.7.0-openjdk.x86_64 der folgende Befehl verwendet werden, um es zu installieren und als standardmäßig zu verwendende Java-Version festzulegen.
# update-alternatives --install "/usr/bin/java" "java" /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java 99999 # update-alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
Hier,
99999 – ist die Priorität (Sie sollte die höchste sein, damit die Java-Version die Standardversion ist.)
2. Überprüfen Sie anhand von Alternativen, ob die Änderungen wirksam wurden, und bestätigen Sie schließlich die Java-Version auf dem System.
# alternatives --config java There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java ### default java version 2 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java Enter to keep the current selection[+], or type selection number:
3. Sie können auch den Befehl „java -version“ verwenden, um die aktuelle Java-Version zu überprüfen.
# java -version java version "1.7.0_65" OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)