出人意料的是(由于OpenJDK 7大约在4个月前已发布到一般可用性),Ubuntu 11.10仍默认使用OpenJDK 6而不是7。我如何最好地解决此问题?我宁愿完全删除OpenJDK 6,而让OpenJDK 7成为default-jdk和default-jre。
我不想要正式的Oracle tarball,我想要deb repos-标准的Ubuntu方法。
出人意料的是(由于OpenJDK 7大约在4个月前已发布到一般可用性),Ubuntu 11.10仍默认使用OpenJDK 6而不是7。我如何最好地解决此问题?我宁愿完全删除OpenJDK 6,而让OpenJDK 7成为default-jdk和default-jre。
我不想要正式的Oracle tarball,我想要deb repos-标准的Ubuntu方法。
Answers:
问题在于该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
switch或忽略错误–脚本更改了它可以执行的操作,而忽略其余内容。
从理论上讲,default-jre
可以依赖于OpenJDK 7 编辑该程序包,但要警告这可能造成弊大于利。
$ sudo apt-get install icedtea-7-plugin
)后,它在Ubuntu 12.04上运行良好。谢谢。
为此,您必须在系统上同时安装两个版本的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
仓库可以在这里找到:https : //launchpad.net/~openjdk/+archive/ppa
要么:
sudo apt-add-repository ppa:openjdk/ppa
sudo apt-get update
sudo apt-get upgrade
假设您已经安装了OpenJDK