如何在 Debian 上安装最新的 OpenJDK?

如何在 Debian 上安装最新的 OpenJDK?

我有 Debian 10 并openjdk-11-jdk从 Debian 存储库安装。我必须运行一个使用 Java 运行时版本 58 编译的程序,因此我需要更新它。

我下载了.tar.gzOpenJDK 15,网址为java.net。我提取了该文件,/usr/local/bin因为它已在我的变量中列出PATH。我运行了update-alternatives --list java,但只列出了 OpenJDK 11。

如何正确安装 OpenJDK 15?

答案1

sudo update-alternatives --config java
update-alternatives: error: no alternatives for java

安装的java版本需要添加到update-alternatives

优先添加jdk-11 10

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 10 

优先添加 jdk-15 20(假设您已将 tarball 解压到/usr/lib/jvm/目录中。在您的情况下替换/usr/lib/jvm/jdk-15.0.2/bin/java/usr/local/bin/jdk-15.0.2/bin/java

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

核实:

 sudo update-alternatives --list java

/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/jdk-15.0.2/bin/java

sudo update-alternatives --config java

示例输出:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/jdk-15.0.2/bin/java              20        auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   10        manual mode
  2            /usr/lib/jvm/jdk-15.0.2/bin/java              20        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

检查java版本,在上面的例子中默认版本是jdk-15:

java --version

openjdk 15.0.2 2021-01-19
OpenJDK Runtime Environment (build 15.0.2+7-27)
OpenJDK 64-Bit Server VM (build 15.0.2+7-27, mixed mode, sharing)

答案2

答案相当简单,但不是很推荐,只需将 apt 设置为首选的buster-updates软件包,将 Debian 11 的(Bullseye)存储库附加到您的/etc/sources.list,然后强制它安装/更新openjdk-17-jdk.

这意味着您将拥有一个 FrankenDebian,但它仍然比从源代码或其他地方安装要好得多。

您还可以使用 GUI 更轻松地完成此操作:synaptic

编辑:我也忘记了,但是 GAD3R 在这件事上也是正确的update-alternatives,如果从软件包安装没有触发它,你可能也必须这样做。

相关内容