在我的 Ubuntu 15.04 上,sudo update-alternatives --config java
显示:
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-8-oracle/jre/bin/java 1074 auto mode
1 /opt/java32/jdk1.7.0_71/jre/bin/java 1 manual mode
2 /usr/lib/jvm/java-1.7.0-openjdk-i386/jre/bin/java 10 manual mode
3 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
4 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1070 manual mode
* 5 /usr/lib/jvm/java-8-oracle/jre/bin/java 1074 manual mode
为什么单个路径/usr/lib/jvm/java-8-oracle/jre/bin/java
有两个条目,一个在模式中,auto
另一个在manual
模式中?
即使两条路径具有相同的优先级 1024,并且该manual
路径被标记为默认路径。手动模式是否总是比自动模式具有更高的优先级?
答案1
标有 的条目*
表示当前选择。它只是默认值,因为update-alternatives
如果您不想更改它,则不必输入任何内容。
系统默认值是always auto
,这意味着设置将更改为始终选择由包维护者确定的具有最高优先级的替代方案。一行中出现的星号manual
表示有人更改了替代方案。即使安装更新时优先级发生变化,系统也不会改变此选择。所以是的,手动模式总是优先于自动模式。显然,有人(手动!)更改了二进制文件的设置java
,但当前的替代方案仍然与系统在模式下选择的相同auto
,因此该条目出现了两次。
如果您希望系统java
自动选择“最佳”路径替代方案,请0
在此处选择。请注意,尤其是 Java 应用程序可能对所使用的实现和版本很挑剔,因此请小心更改内容。分别从 Debian 或 Ubuntu 存储库提供的 Java 应用程序应该始终能够使用默认 JRE 运行。