当前位置: 首页>>技术教程>>正文


如何用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 – 所以在OpenJDK 7被正式支持并将用作默认版本之前,或者直到所有Java-dependent软件包更新它们的依赖项,你才会必须保持OpenJDK 6并使用update-java-alternatives将OpenJDK 7设置为默认值。 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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2262.html,未经允许,请勿转载。