如何用 OpenJDK 7 替换 OpenJDK 6?

如何用 OpenJDK 7 替换 OpenJDK 6?

令人惊讶的是(大约 4 个月前 OpenJDK 7 正式发布),Ubuntu 11.10 仍然默认使用 OpenJDK 6 而不是 7。我该如何解决这个问题?我更愿意完全删除 OpenJDK 6,让 OpenJDK 7 成为默认 jdk 和默认 jre。

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

答案1

问题是该default-jre软件包依赖于 OpenJDK 6,并且大多数其他软件包的依赖项定义为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,但请注意,这样做弊大于利。

答案2

为此,您的系统上必须安装两个版本的 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

答案3

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

答案4

该仓库可以在这里找到: https://launchpad.net/~openjdk/+archive/ppa

或者:

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

假设你已经安装了 OpenJDK

相关内容