无法更改 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。我已经下载了jdk5,它位于此处:

/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

相关内容