我决定将我的 JDK7 更新到最新版本这里。
已下载并/usr/lib/jvm
像往常一样提取了与我的体系结构对应的 x64 tag.gz 存档。之前所有以前的 Java 版本都是以相同的方式安装的。但在为和设置新的替代方案之前java
,我使用以下命令删除了所有现有替代方案:javac
javaws
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
这都是我的错!:)
我混淆了 的参数update-alternatives
。正确的命令行应该是:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk/bin/java 1
答案2
由于您正在从之前手动删除的 Java 版本进行更新,因此您必须执行以下命令两次。第一次执行时会收到错误消息,第二次执行时会成功。
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk/bin/java" 1
来源:简易Linux项目
答案3
Oracle 已经让 Java 安装变得非常简单,并且希望未来也能如此。你可以从以下网址下载最新的 Debain:甲骨文.运行以下命令进行安装:
1. sudo apt install ./jdk-17_linux-x64_bin.deb
2. sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17/bin/java 2
注意:- 运行存储 .deb 文件的命令 1,jdk 版本可能不同。同样,对于命令 2,在输入命令时使用 tab 键,对于第二个参数,即 /usr/lib/jvm/jdk-,然后输入下载的版本,在我的情况下是 17。
如果已安装旧版本的 Java(<17),请访问Linux 崛起并运行以下命令:
1. sudo add-apt-repository ppa:linuxuprising/java
2. sudo apt update
3. sudo -i
4. echo "deb http://ppa.launchpad.net/linuxuprising/java/ubuntu focal main" | tee /etc/apt/sources.list.d/linuxuprising-java.list
5. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 73C3DB2A
6. apt-get update
7. exit
8. sudo apt install oracle-java17-installer --install-recommends
9. java -version
输出:
java 版本“17.0.1”2021-10-19 LTS
Java(TM) SE 运行时环境(版本 17.0.1+12-LTS-39)
Java HotSpot(TM) 64 位服务器 VM(版本 17.0.1+12-LTS-39,混合模式,共享)