
當我在終端機中運行 java -version 時,我得到:
user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
我需要將我的java更改為5。
/home/user/tools/jdk1.5.0_22
首先,我嘗試將以下內容新增到我的 ~/.bashrc 檔案中:
JAVA_HOME=/home/user/tools/jdk1.5.0_22
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
然後我重新啟動了終端,但我仍然得到:
user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
然後我嘗試添加JAVA_HOME
到/etc/environment
:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME=/home/user/tools/jdk1.5.0_22
重新啟動終端機後(關閉並開啟一個新終端)java仍然指向jdk 7:
user@ubuntu:~$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
但似乎 JAVA_HOME 已設定:
user@ubuntu:~$ echo $JAVA_HOME
/home/user/tools/jdk1.5.0_22
如何更改我使用的 java 版本?
答案1
在您的 PATH 中找到的第一個 java 可執行檔是/usr/bin/java
,它可能是一個連結到 ,/etc/alternatives/java
它可能是一個連結到/usr/lib/jvm/java-7-oracle/jre/bin/java
.
您可以嘗試將 PATH 設定為在開頭包含新的 java 位置。你透過在最後添加它來做了相反的事情。您應該嘗試過以下操作:
export PATH=/home/user/tools/jdk1.5.0_22/bin:$PATH
與 JAVA_HOME 結合使用應該沒問題,但另一種更 debian 風格(或 ubuntu 風格)的方法是使用該update-alternatives
實用程式。
sudo update-alternatives --install /usr/bin/java java /home/user/tools/jdk1.5.0_22/bin/java 100
sudo update-alternatives --set java /home/user/tools/jdk1.5.0_22/bin/java
但是您需要對您打算從該安裝中使用的所有可執行檔執行此操作。
如欲了解更多詳情,請參閱https://askubuntu.com/q/159575/11831
答案2
您可能需要檢查該whereis
命令以及替代方案。檢查其中是否存在/etc/alternatives/java
指向 IcedTea 而不是您所需的 java 可執行檔的符號連結。您可能需要檢查alternatives
安裝新替代方案的命令並根據需要進行設定。
編輯:連結到 RHEL 文件作為範例: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_SOA_Platform/4.3/html/Getting_Started_Guide/appe-install_jdk_rhel.html