在 14.04.2 LTS 上使用 java 7 和 java 8 的替代方案

bma*_*ies 6 java update-alternatives 14.04

我安装了java 7。使用 PPA 存储库,我添加了 java 8。

sudo apt-get install oracle-java8-installer
Run Code Online (Sandbox Code Playgroud)

这使 java 8 成为默认值。因此,我尝试使用 update-alternatives 将 java 7 设为默认值。

sudo update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Run Code Online (Sandbox Code Playgroud)

那导致

java -version
Run Code Online (Sandbox Code Playgroud)

失败。

看起来问题可能在于 Java 的替代品列表很长,我需要将它们一起移动。有办法吗?

sai*_*895 11

因为 Java 由许多程序组成,所以您需要改用 Java update-java-alternatives。运行update-java-alternatives -l以获取已安装 Java 环境的列表。然后,要将环境设置为默认值,请运行update-java-alternatives -s codename,其中codename是输出的第一部分。

例如,我安装了 OpenJDK 7 和 8。这是我的输出:

07:52:36 ?134% ?70° [:~] $ update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64
07:54:36 ?105% ?70° [:~] 1 $ sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
[sudo] password for saikrishna: 
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
Run Code Online (Sandbox Code Playgroud)

(忽略最后的错误;IceaTea 8 还没有准备好。)