问题描述
four@twenty:~$ file /etc/alternatives/java /etc/alternatives/javac
/etc/alternatives/java:symbolic link to `/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
/etc/alternatives/javac:symbolic link to `/usr/lib/jvm/java-6-openjdk-amd64/bin/javac'
请原谅我的noobishness但我将这些消息解释为使用Java 7的运行时环境,但编译器使用的是Java 6?
这是正确的,如果是这样,我如何将其设置为使用Java版本7?
最佳解决思路
可以使用update alternatives
命令在已安装的Java版本之间切换。
-
要获取已安装的Java平台的列表,请从终端运行以下命令:
sudo update-alternatives --config java
这将为您提供类似于此的列表输出:
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-oracle/jre/bin/java 1070 auto mode 1 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 manual mode * 2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1069 manual mode Press enter to keep the current choice[*], or type selection number:
在这种情况下,Open JDK 6版本正在运行。要切换到Open JDK版本7,您可以在提示符下选择选项1
,然后按Enter
键。
您现在将运行OpenJDK 7版本。切换Java版本不需要进行任何其他更改。
次佳解决思路
您可以运行sudo update-alternatives --config java
,并选择JDK 7(如果已安装)。
第三种解决思路
建议使用的最多投票答案
update-alternatives
只能部分回答这个问题,事实上可能很危险。通过使用它,您很可能最终导致Java环境不一致。
如果你有JDK而不是JRE,这一点尤为重要
[sudo] update-alternatives –config java
将仅更改java
命令的版本,即重新指定主JRE可执行文件。
javac
和其他JDK工具仍将指向其他java版本。要完全切换,您必须继续使用update-alternatives
来处理所有其他工具。
使用”alternatives”系统在Linux发行版中切换Java版本的正确且更简单的方法 – 即在Debian或它的派生Ubuntu中 – 是使用update-java-alternatives命令。
update-java-alternatives -l – will list installed Java versions
[sudo] update-java-alternatives -s – will switch to the requested version
第四种思路
GUI方式
$ sudo apt-get install galternatives
$ sudo galternatives
更多这里:https://askubuntu.com/a/159594/216936