update-alternatives:更新JDK7时出现“替代路径不存在”的问题


10

我决定从此处将 JDK7更新到最新版本。

与我的体系结构对应的x64 tag.gz存档已下载并/usr/lib/jvm像往常一样提取。所有以前的Java版本都是以相同的方式安装的。但在此之前设置新的替代品javajavacjavaws我使用以下命令删除所有现有的备选方案:

sudo update-alternatives --remove-all java
sudo update-alternatives --remove-all javac
sudo update-alternatives --remove-all javaws

现在,当尝试安装新的替代品时,我得到以下信息:

sudo update-alternatives --install /usr/lib/jvm/jdk1.7.0_13/bin/java java /usr/bin/java 1
update-alternatives: error: alternative path /usr/bin/java doesn't exist.

当然/usr/bin/java不存在,但是/usr/bin呢?它有什么问题,我该如何解决?


1
有一个webupd8 java ppa用于更新Oracle JDK7。
BuZZ-dEE

Answers:


8

这是我史诗般的错!:)

我混淆了的论点update-alternatives。正确的命令行必须是:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk/bin/java 1

我将其发布为答案,因为它解决了这个问题。我不确定是否应该删除问题(因为问题很快就由我自己解决了)还是发布了答案。
ezze

发布答案通常是正确的事情。虽然,这个问题是如此局部化,但我不确定任何人将来都会发现它有用。谁知道,我可能是错的。:)
Nathan JB

无论如何,下次安装或升级Java时,我强烈建议您使用webup8 java ppa(不同的链接) -它使一切变得如此简单(只需确保先清除当前安装)。
内森·杰伯

2

由于要从手动删除的先前Java版本进行更新,因此必须执行两次以下命令。您第一次收到错误消息,第二次执行时它会起作用。

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk/bin/java" 1

资料来源:Easy Linux Project


感谢您的回答,但问题是我混淆了update-alternatives的参数。正确的命令会在第一次尝试时起作用。
ezze
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.