Linux 更新替代:警告:/etc/alternatives/java 悬空
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/17609083/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
update-alternatives: warning: /etc/alternatives/java is dangling
提问by rachana
I am facing the problem while running the java program from command line.
I have openjdk-6-jdk installed in my linux system and still shows the error relates with the openjdk-7-jdk.
Initially i have jdk 7 installed in my system but ater i have removes it but still facing problem while running the application.
我在从命令行运行 java 程序时遇到了这个问题。我的 linux 系统中安装了 openjdk-6-jdk,但仍然显示与 openjdk-7-jdk 相关的错误。
最初我在我的系统中安装了 jdk 7,但后来我删除了它,但在运行应用程序时仍然遇到问题。
after running the cammand
运行命令后
sudo update-alternatives --config java
it shows warning as follows
它显示如下警告
update-alternatives: warning: /etc/alternatives/java is dangling,
it will be updated with best choice.
There is only one alternative in link group java: /usr/lib/jvm/java-7-openjdk/jre/bin/java
Nothing to configure.
update-alternatives:warning: /etc/alternatives/java is dangling,
它将以最佳选择进行更新。
链接组 java 中只有一种选择:/usr/lib/jvm/java-7-openjdk/jre/bin/java
Nothing to configure。
what should I do?
我该怎么办?
采纳答案by user8658912
Assuming you installed the OpenJDK6 with:
假设您安装了 OpenJDK6:
sudo apt-get install openjdk-6-jdk
In Ubuntu 64 bit, make sure the paths are valid for your installation (change if using 32bit version):
在 Ubuntu 64 位中,确保路径对您的安装有效(如果使用 32 位版本,请更改):
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-6-openjdk-amd64/bin/javac
Setup update-alternatives:
设置更新替代方案:
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
Alternatively, make sure the correct version is checked for both Java and compiler:
或者,确保为 Java 和编译器检查了正确的版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
List the installed Java alternatives with:
列出已安装的 Java 替代品:
sudo update-alternatives --list java
sudo update-alternatives --list javac
回答by Guna Sekaran
update java alternatives:
更新java替代品:
sudo update-alternatives --config java
sudo update-alternatives --config javac
回答by The Sun
If you install openjdk 8 in docker. Maybe you need to install "software-properties-common"
如果您在 docker 中安装 openjdk 8。也许你需要安装“software-properties-common”
apt-get update && apt-get install apt-file -y && apt-file update && apt-get install software-properties-common
And then you install openjdk 8 and setup update-alternatives with end number = 3
然后安装 openjdk 8 并设置结束编号 = 3 的 update-alternatives
sudo apt-get install openjdk-8-jdk
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java" 3
update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-8-openjdk-amd64/bin/javac" 3