我不太确定我是如何陷入这种混乱的,但由于某种原因,我无法使用替代方法来更改 Java 的当前版本。我可以运行替代品 --config java 并输入我的选择,但是当我回显 java 或 javac 的版本号时,它每次都会吐出 1.5(尽管替代品显示当前版本是 1.6)。顺便说一句,我正在使用的服务器正在运行 RHEL5。
我已经验证替代方案中使用的路径指向正确的目录。这是我的会话的一些输出:
[brilewis@myserver]$ sudo /usr/sbin/update-alternatives --config java
有 3 个程序提供“java”。
选择命令
** 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+ 2 /usr/java/jdk1.5.0_10/bin/java
3 /usr/java/jdk1.6.0_16/bin/javaEnter 以保留当前选择[+],或输入选择编号:3
[brilewis@myserver]$ java -version
java 版本 "1.5.0_10" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03) Java HotSpot(TM) Server VM (build 1.5.0_10-b03, 混合模式)
[brilewis@myserver]$ sudo /usr/sbin/update-alternatives --config java
有 3 个程序提供“java”。
选择命令
** 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
2 /usr/java/jdk1.5.0_10/bin/java
+ 3 /usr/java/jdk1.6.0_16/bin/javaEnter 以保留当前选择[+],或输入选择编号:
更新:以下是输出echo $PATH
:
/usr/java/jdk1.5.0_10/bin:/usr/local/apache-ant-1.7.1/bin:/usr/local/apache-tomcat-6.0.24:/usr/kerberos/bin:/usr/本地/bin:/bin:/usr/bin:/usr/NX/bin:/home/brilewis/bin
更新(2010 年 4 月 26 日):我按照 Bert 的建议,从 /etc/profile 的 PATH 环境变量中删除了 JAVA_HOME。这样做之后,我能够使用替代方法来更改 Java 的版本。唯一的问题是,当我尝试运行时javac
,我得到“-bash: javac: command not found”。当版本设置为 1.5 时不会发生这种情况。