如何用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