刚才我在 Minecraft 上摆弄时发现了一些奇怪的事情 - 它使用的是 OpenJDK 6(至少对于我的配置文件而言,我不知道启动器使用的是哪个......),我没有意识到它是默认安装的。(当然我应该意识到这一点,我相信 Libre Office 使用它......Java,就是这样。)
我通常openjdk-7-jre
在全新安装后设置系统时安装该软件包。
是否有理由保留 OpenJDK 6?如果没有,如何完全删除它?我尝试了一个简单的apt-get autoremove openjdk-6-jre
,但它也想删除default-jre
,但我不知道它是什么或具体做什么。
我使用 OpenJDK 7 测试了 Minecraft,一切似乎都很好!
如果要求保留它,有没有办法让 OpenJDK 7 成为其他所有不需要 OpenJDK 6 的默认设置?
更新:
我做了更多搜索,发现这。
update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number:
我选择“2”并按回车键。
which java
这只给了我输出/usr/bin/java
,而不是像帖子所说的那样从技术上讲它正在使用哪个版本。
我还打开了 Libre Office 并查看了选项 - 它有更改要使用的 JDK 的选项,所以我也将其换成了版本 7。
因此问题仍然存在,OpenJDK 6 是否必须保留,或者是否可以将其删除以代替 OpenJDK 7?如果我可以删除它,我该如何彻底删除它?
答案1
Debian 使用 update-alternative 来允许轻松地在给定程序的各个版本之间切换。
看看 /usr/bin/java
# ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 janv. 19 23:12 /usr/bin/java -> /etc/alternatives/java
这是 /etc/alternatives/java 的链接:
# ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 45 janv. 19 23:12 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
如您所见,在我的系统上,我使用 java-6-openjdk-i386 作为我的 JRE。
查看你的系统的结果:
readlink -f /usr/bin/java
此命令显示调用 java 时使用的实际二进制文件。
至于删除 openjdk-6,您可以放心地这样做。default-jre 包只是一个“虚拟”包,只包含对 openjdk 6 的依赖。它用于简化 Java 的安装。