当我在终端中运行 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-install_jdk_rhel.html