当我尝试安装 OpenJDK 11 时,OpenJDK 10 已安装

当我尝试安装 OpenJDK 11 时,OpenJDK 10 已安装

我使用下面的 apt 命令来安装 OpenJDK 11

sudo apt install openjdk-11-jdk

但是,OpenJDK 10 已安装,结果java --version

openjdk 10.0.1 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)

apt update输出后sudo apt-cache policy openjdk-11-jdk

openjdk-11-jdk:
  Installed: 10.0.1+10-3ubuntu1
  Candidate: 10.0.1+10-3ubuntu1
  Version table:
 *** 10.0.1+10-3ubuntu1 500
        500 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
        100 /var/lib/dpkg/status

如何安装 OpenJDK 11?

Ubuntu 版本:18.04

答案1

这是一个已知问题在 bionic/main 存储库提供的 OpenJDK 11 版本 10.0.1+10-3ubuntu1 中。更新版本 11.0.8+10-0ubuntu1~18.04.1 可在 仿生更新仿生安全未在 bionic/main 中推送。您可以考虑启用至少一个上述存储库来安装更新的版本。

您可以从软件和更新→更新或者直接将它们附加到sources.list使用中tee. 为了那次跑步,

echo "deb http://archive.ubuntu.com/ubuntu bionic-updates main" | sudo tee -a /etc/apt/sources.list
echo "deb http://archive.ubuntu.com/ubuntu bionic-security main" | sudo tee -a /etc/apt/sources.list

完成后,运行sudo apt update并重试安装/更新 OpenJDK 11。

答案2

您的问题是已经安装了 JDK,并且安装新的 JDK 并没有自动将其设置为当前版本。

以下是描述如何设置 Java 版本的帖子的链接:在多个 Java 版本之间切换


这是我发现的有效方法:

apt install如果已经存在 Java 版本,则不配置该版本。

如果已安装 openjdk-11,您可以像这样切换到:

sudo update-alternatives --config java

这将显示已安装的 JDK 表,请按回车键从列表中选择正确的 JDK。

此外,您可能需要$JAVA_HOME通过运行以下命令更改环境变量:

export JAVA_HOME="$(jrunscript -e java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"

相关内容