Edd*_*ett 12 linux debian java
我正在尝试将 Java SDK 8 工具(从 debian backports 存储库安装)设置为默认值。
# update-java-alternatives --list
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
# update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
update-alternatives: error: no alternatives for mozilla-javaplugin.so
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)
嗯,除了那个错误(我认为这只是根据https://askubuntu.com/questions/141791/is-there-a-way-to-update-all-java-related-替代方案。如果没有,我不知道如何解决这个问题,因为我可以看到 jdk8 没有 icedtea 插件),这应该可以解决问题,对吧?
但是很多 Java 工具仍然指向 Java 7:
# update-alternatives --get-selections | grep java
appletviewer manual /usr/lib/jvm/java-8-openjdk-amd64/bin/appletviewer
extcheck auto /usr/lib/jvm/java-7-openjdk-amd64/bin/extcheck
idlj auto /usr/lib/jvm/java-7-openjdk-amd64/bin/idlj
jar auto /usr/lib/jvm/java-7-openjdk-amd64/bin/jar
jarsigner auto /usr/lib/jvm/java-7-openjdk-amd64/bin/jarsigner
java manual /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
javac auto /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
javadoc auto /usr/lib/jvm/java-7-openjdk-amd64/bin/javadoc
...
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?破碎的?
编辑:
解决了这个问题:
for i in `update-alternatives --get-selections | grep java | awk '{print $1}'`; do update-alternatives --config $i; done
Run Code Online (Sandbox Code Playgroud)
这将手动提示您输入每个工具。这大约需要一分钟。不过,我想知道是否有更好的方法。
hfs*_*hfs 12
update-java-alternatives有选择,更新--jre-headless,--jre和--plugin分别。
使用
sudo update-java-alternatives --jre-headless --jre --set java-1.8.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)
在没有安装插件的 Debian Jessie 服务器上为我工作。
小智 7
在 Debian 中实现此目的的最简单方法是使用此命令
update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)
然后你会得到这样的输出:
*0 /usr/lib/jvm/java-8-openjdk-amd64/bin/java auto mode
1 /usr/lib/jvm/jdk1.7.0/bin/java manual mode
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过键入索引号来更改默认选择(标有“*”)。例如,您选择“1”以使用 Java 7 作为默认 JVM。您可以再次运行该命令以检查更改。
希望能帮助到你。
小智 5
在 ubuntu 中,JDK1.8 默认不安装。当您列出 Java 替代品时
$ update-java-alternatives -l
java-1.11.0-openjdk-amd64 1101 /usr/lib/jvm/java-1.11.0-openjdk-amd64
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64
java-7-oracle 1082 /usr/lib/jvm/java-7-oracle
Run Code Online (Sandbox Code Playgroud)
java-1.8.0-openjdk-amd64在这个列表中不是 JDK,而是 JRE。JRE 不包含所有必需的开发工具,如 javac、javadoc 等。您可以验证 bin 目录是否包含这些文件。这就是没有注册这些工具的原因。
所以,首先你必须安装JDK
sudo apt install openjdk-8-jdk
Run Code Online (Sandbox Code Playgroud)
然后改变替代方案
sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)
小智 0
您必须在下面的文件中更改 java 8 的 java home 变量
'vi /etc/environment'
Run Code Online (Sandbox Code Playgroud)
在这种格式下
JAVA_HOME-/usr/lib/jvm/java-8-oracle
使用重新加载配置文件
'. /etc/environment'
Run Code Online (Sandbox Code Playgroud)
并以此确认
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28825 次 |
| 最近记录: |