如何用OpenJDK 7替换OpenJDK 6?

令人惊讶的是(因为OpenJDK 7在大约4个月前发布到普遍可用性)Ubuntu 11.10默认仍然使用OpenJDK 6而不是7。 我该如何最好地解决这个问题? 我更喜欢完全删除OpenJDK 6并让OpenJDK 7成为default-jdk和default-jre。

我不想要正式的Oracle tarball,我想要deb repos – 标准的Ubuntu方式。

问题是default-jre包依赖于OpenJDK 6,而大多数其他包的依赖关系定义为default-jre | openjdk-6-jre | sun-java6-jre default-jre | openjdk-6-jre | sun-java6-jre default-jre | openjdk-6-jre | sun-java6-jre – 所以直到OpenJDK 7得到官方支持并将用作默认版本,或者直到所有依赖Java的包更新它们的依赖关系,你必须保持OpenJDK 6并将OpenJDK 7设置为默认使用update-java-alternatives 。 64位系统示例:

 $ update-java-alternatives -l java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64 $ sudo update-java-alternatives -s java-1.7.0-openjdk-amd64 

在32位系统上,目录名称会有所不同,您可以使用-l开关找到正确的名称。 第二个命令可能会吐出很多错误; 要么使用--jre开关,要么只是忽略错误 – 脚本会改变它所能做的事情而忽略其余部分。

从理论上讲,可以编辑default-jre包以依赖OpenJDK 7,但要注意这可能会带来更多弊大于利。

为此,您必须在系统上安装两个版本的jdk。 你可以用apt-get来下载它们。

在那之后尝试,

 $ sudo update-alternatives --config java 

并选择您要使用的jdk。

对于某些应用程序,Openjdk有时是不利的。

您还应该尝试使用oracle-java或sun-java。

以下链接对此非常有用:

http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

OpenJDK 7在11.10中是正常的ubuntu repos,如果你查找openjdk-7-jre和openjdk-7-jdk并使用apt-get / synaptic / software center安装它们,它们应该替换openjdk-6,如果它没有您可以先使用apt-get purge openjdk-6-*删除openjdk-6- *软件包

回购可以在这里找到: https : //launchpad.net/~openjdk/+archive/ppa

要么:

 sudo apt-add-repository ppa:openjdk/ppa sudo apt-get update sudo apt-get upgrade 

假设你安装了OpenJDK