![如何在 Ubuntu 22.04 上安全地将 Java 任何版本更新或切换到 Java 17](https://linux22.com/image/955633/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%2022.04%20%E4%B8%8A%E5%AE%89%E5%85%A8%E5%9C%B0%E5%B0%86%20Java%20%E4%BB%BB%E4%BD%95%E7%89%88%E6%9C%AC%E6%9B%B4%E6%96%B0%E6%88%96%E5%88%87%E6%8D%A2%E5%88%B0%20Java%2017.png)
我在运行 Windows 10 的 Virtualbox VM 上安装了 Ubuntu 22.04。
我必须将我 Ubuntu 上安装的当前 Java 版本切换为 Java 17,这是保证可以与我需要使用的某些软件正常运行的最新版本。
因此我尝试卸载 Java 的实际版本(Java 11,之前我已卸载 Java 18)。
为了做到这一点,我遵循了此程序@Eric Carvalho。
不幸的是,它还从 Ubuntu 中删除了一些操作系统文件,现在我的虚拟机不再能正常工作。
幸运的是,我在 Windows 上备份了整个 VM(C > users > MYUSER > VirtualBox VMs
),因此我删除了修改后的 VM 并重新启动。
那么现在,如何在 Ubuntu 22.04 上安全地从任何版本的 Java 升级/切换到 Java 17?
答案1
我已经重做了问题中指出的程序,但不是运行
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
我已经跑了
dpkg -l | grep ^rc | awk '{print($2)}'
它打印路径列表。
仅选择名称中包含“java”和“jdk”的路径。
在我的情况下,它们是以下路径:
ca-证书-java
java 常用
openjdk-11-jre-headless:amd64
把它们作为论据
sudo apt-get purge <target>
因此,就我而言:
sudo apt-get purge ca-certificates-java
sudo apt-get purge java-common
sudo apt-get purge openjdk-11-jre-headless:amd64
然后我继续进行其他步骤,直到结束。
最后我重启了我的电脑
并使用以下命令安装 Java 17
sudo apt update
sudo apt install openjdk-17-jdk