虽然希望从源代码编译 OpenJDK,但最新的通用版本 ( OpenJDK 10.0.1 ) 坚持使用 OpenJDK 9 或 10。然而,JDK 11 直到2018 年 9 月才会发布。
然而,令我惊讶的是,当我这样做时apt search openjdk
,结果是:
...
openjdk-11-jdk - OpenJDK Development Kit (JDK)
...
openjdk-8-jdk - OpenJDK Development Kit (JDK)
...
没有 OpenJDK 9 或 10!
等等,那是 OpenJDK 11 吗?也许是 Beta 版?不...
所以我看了看apt show openjdk-11-jdk
:
Package: openjdk-11-jdk
Version: 10.0.1+10-3ubuntu1
...
为什么 OpenJDK 10 被打包为 openjdk-11-*??
这是因为这些软件包在发布时将成为 OpenJDK 11。请参阅此邮件列表帖子:
这也是为什么
openjdk-11-*
实际调用openjdk-lts
.已提交错误报告- 请订阅它(但除非您有新信息要添加,否则不要发表评论,这不太可能)。一位 Ubuntu 开发者 Jeremy Bicha 回应道:
一个新的错误报告已打开,用于跟踪所有需要进行的更改,其中有很多- 粗略计算为 140。错误报告摘录:
另一位 Ubuntu 开发人员 Tiago Stürmer Daitx 指出:
目前还没有预计到达时间。相当多的软件包已更新并添加到过渡团队维护的各种 PPA 中,因此如果您希望帮助测试,请检查它们。
2019 年 4 月 17 日更新:
似乎已发布修复程序。现在
apt show openjdk-11-jdk
显示:的输出
java -version
是:见上面穆鲁的回答,
但是为了解决这个问题,您可以手动安装 openjdk 11 并将其添加到 update-alternatives 以便您可以切换版本,当官方软件包更新时您可以切换到该版本。请参阅下文以了解如何:
在 /usr/lib/jvm/jdk-11.0.2 下解压 jdk
然后将其添加到替代系统
在替代品中看到它
检查它是否有效