11.10 – 如何用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的包更新它们的依赖关系,你必须保持OpenJDK 6并将OpenJDK 7设置为默认使用更新Java的替代品. 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 switch,要么只是忽略错误 – 脚本会改变它所能做的事情而忽略其余部分.

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

上一篇:包管理 – 为什么OpenJDK 10打包为openjdk-11- *?


下一篇:java – OpenJDK – Oracle更好吗?