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'
请原谅我的菜鸟,但我将这些消息解释为使用 Java 7 的运行时环境,但编译器使用的是 Java 6?
这是正确的吗?如果正确,我该如何设置它以使用 Java 版本 7?
答案1
可以使用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 版本无需进行其他更改。
答案2
投票最多的答案建议使用
更新替代方案
只能部分回答这个问题。使用它很可能最终导致 Java 环境不一致。
如果你有 JDK,而不是 JRE,这一点尤其重要,因为
[sudo] 更新替代方案 --config java
将更改命令的java
版本仅有的,即重新指向主 JRE 可执行文件。
javac
而其他 JDK 工具仍将指向其他 Java 版本。要完全切换,您必须继续使用update-alternatives
所有其他工具。
这恰当的和更容易在具有“替代”系统的 Linux 发行版(即 Debian 或其衍生产品 Ubuntu)中切换 Java 版本的方法是使用 更新 Java 替代方案命令。
更新 Java 替代方案 -l- 将列出已安装的 Java 版本
[sudo] 更新 Java 替代方案 -s- 将切换到所请求的版本
答案3
您可以运行sudo update-alternatives --config java
,并选择 JDK 7(如果已安装)。
答案4
GUI 方式
$ sudo apt-get 安装 galternatives
$ sudo galternatives