無法更改 JAVA_HOME

無法更改 JAVA_HOME

當我在終端機中運行 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-in​​stall_jdk_rhel.html

相關內容