Il problema
Ho installato una nuova versione di Java Runtime Environment ma il comando "java -version" non mostra la nuova versione.
# 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)
La soluzione
Questo problema potrebbe verificarsi a causa di più installazioni di Java sul sistema. Se sul sistema sono installate più versioni di pacchetti openjdk, alternative il comando può essere utilizzato per impostare la versione predefinita di java. Dalle pagine man del comando “alternative”:
alternatives - maintain symbolic links determining default commands
Per impostare una versione predefinita di java quando sono installate più versioni di java, utilizzare il comando seguente.
# 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
Come installare il nuovo percorso java nel gruppo java alternativo?
Puoi anche installare manualmente un nuovo percorso Java nel gruppo java delle alternative. Questo può essere fatto usando il comando update-alternatives. La sintassi per farlo è la seguente.
# update-alternatives --install [link] [name] [path] [priority]
È quindi possibile impostare il percorso java appena aggiunto come predefinito di sistema utilizzando il comando "update-alternatives".
# update-alternatives --set [name] [path]
o
# alternatives --set [name] [path]
1. Ad esempio, in caso di jre-1.7.0-openjdk.x86_64, è possibile utilizzare il comando seguente per installarlo e impostarlo come versione java predefinita da utilizzare.
# 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
Qui,
99999 – è la priorità (dovrebbe essere la più alta affinché la versione java sia quella predefinita.)
2. Usando alternative, controlla se le modifiche hanno avuto effetto e infine conferma la versione java sul sistema.
# 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. Puoi anche utilizzare il comando "java -version" per verificare la versione corrente di java.
# 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)