设置JDK 7为默认

 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版本?
4个回答

切换已安装的Java版本可以使用update alternatives命令来完成。
要获取已安装的Java平台列表,请从终端运行以下命令: sudo update-alternatives --config java
这将给出类似于以下输出的列表: 有2个选择可供java替代(提供/usr/bin/java)。 选择 路径 优先级 状态 ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-oracle/jre/bin/java 1070 自动模式 1 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 手动模式 * 2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1069 手动模式 按回车键保留当前选择[*],或输入选项号码:
在这种情况下,正在运行的是Open JDK 6版本。要切换到Open JDK 7版本,您可以在提示符处选择选项1,然后按下Enter键。
您现在将会运行OpenJDK 7版本。切换Java版本不需要进行其他更改。

好的,谢谢。卸载jdk6会有任何收益吗? - Wingsuit
@user142712 没问题。我相信卸载操作也会移除旧的浏览器插件,这在安全方面是有益的。 - Kevin Bowen
1我不会那么快选择“没问题”的答案。请查看http://www.oracle.com/technetwork/java/javase/compatibility-417013.html和http://upstream-tracker.org/java/versions/jdk.html。这两个主要版本之间并没有100%的兼容性,可能(虽然不太可能)会出现应用程序X无法正常运行于第七个版本的情况。在确保没有问题之前,我强烈建议保留两个版本以防万一。 - rbaleksandar
只是为了明确一下。"没问题"的评论只是我另一种说你不用客气的方式,我从未声称你的Java安装不会出现任何问题。 - Kevin Bowen
你需要对javac也进行这样的操作,以防你想要改变编译器。 - samsamara
1此答案提供的update-alternatives解决方案仅适用于切换JRE。请参考下面的链接,了解一条命令切换整个JDK(编译器和其他工具)的正确方法:链接 - J. Will

最受欢迎的答案建议使用“update-alternatives”,但这只是部分回答了问题。使用它很可能导致您的Java环境不一致。
如果您使用的是JDK而不是JRE,这一点尤为重要,因为“[sudo] update-alternatives --config java”命令只会更改“java”命令的版本,即重新指向主要的JRE可执行文件。
而“javac”和其他JDK工具仍然会指向其他Java版本。要完全切换,您必须继续使用“update-alternatives”来处理所有其他工具。
在Linux发行版中,特别是Debian或其衍生版Ubuntu中,切换Java版本的正确且更简单的方法是使用“update-java-alternatives”命令。
“update-java-alternatives -l”将列出已安装的Java版本,“[sudo] update-java-alternatives -s”将切换到所请求的版本。

来源


太棒了!非常感谢你。我希望我能给你更多的互联网积分,但我觉得我还没有这个权利。 - Joel Peltonen

你可以运行sudo update-alternatives --config java,然后选择安装了的JDK 7。

好的,谢谢。它显示我安装了两个JKD7,一个状态为自动,另一个为手动。有什么区别吗? - Wingsuit
这里有一些信息:http://linux.die.net/man/8/update-alternatives,但我会选择自动。 - Frederik Spang
每个链接组在任何给定时间内都有两种模式:自动或手动。当一个组处于自动模式时,备选系统将根据安装和删除的软件包来自动决定是否以及如何更新链接。在手动模式下,备选系统不会更改链接,而是将所有决策留给系统管理员。 - mpen


1@KevinBowen 这将安装一个图形用户界面应用程序。 - WouterH
WouterH是正确的。http://www.debianadmin.com/galternatives-graphical-setup-tool-for-alternatives-configuration-in-ubuntu.html 谢谢WouterH - Alexander Sidikov Pfeif