update-alternatives:警告:/ etc/alternatives/java正在悬空

rac*_*ana 17 java linux ubuntu openjdk

从命令行运行java程序时我遇到了问题.我在我的linux系统中安装了openjdk-6-jdk,但仍然显示与openjdk-7-jdk有关的错误.
最初我在我的系统中安装了jdk 7但是我已经将其删除但在运行应用程序时仍然面临问题.

在运行cammand之后

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

它显示如下警告

update-alternatives:warning: /etc/alternatives/java is dangling,它将以最佳选择进行更新.
链接组java中只有一个替代方法:无需/usr/lib/jvm/java-7-openjdk/jre/bin/java 配置.

我该怎么办?

use*_*912 46

假设你安装了OpenJDK6:

sudo apt-get install openjdk-6-jdk
Run Code Online (Sandbox Code Playgroud)

在Ubuntu 64位中,确保路径对您的安装有效(如果使用32位版本则更改):

/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java

/usr/lib/jvm/java-6-openjdk-amd64/bin/javac
Run Code Online (Sandbox Code Playgroud)

安装更新替代方案:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6-openjdk-amd64/bin/javac" 1

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

或者,确保为Java和编译器检查正确的版本:

sudo update-alternatives --config java
sudo update-alternatives --config javac
Run Code Online (Sandbox Code Playgroud)

列出已安装的Java替代品:

sudo update-alternatives --list java
sudo update-alternatives --list javac
Run Code Online (Sandbox Code Playgroud)