这是因为当OpenJDK 11发布时,这些软件包将变成OpenJDK 11。请参阅
此邮件列表帖子。
代表Ubuntu基础团队,我请求对OpenJDK进行SRU例外。我们的计划是将OpenJDK 10作为Bionic的默认JRE/JDK
1发布,并在2018年9月/10月将主要的默认JRE/JDK转换为OpenJDK 11作为SRU。
= 提议计划 =
Bionic将使用OpenJDK 10作为默认的JRE/JDK,并在OpenJDK 11达到GA后替换它。
...
如果我们打算在bionic发布后切换到OpenJDK 11,我们希望避免在发布时将OpenJDK 8作为Bionic的默认JRE/JDK,因为8和11之间存在的任何额外接口差异不仅会导致存档破裂,还会导致JDK的外部使用者出现问题。相比之下,OpenJDK 10和OpenJDK 11之间的接口差异预计会相对较小,特别是与我们已经知道很大的OpenJDK 8和OpenJDK 9之间的差异相比。因此,我们应该在18.04中发布时使用OpenJDK 10作为默认的JDK,并在OpenJDK 11发布后过渡到OpenJDK 11。
这也是为什么
openjdk-11-*
的源代码包实际上被称为
openjdk-lts
的原因之一。
已提交
一个错误报告 - 请订阅它(但除非您有新的信息要添加,否则请勿发表评论,这是不太可能的)。Ubuntu开发人员Jeremy Bicha已回复:
意图是将Ubuntu 18.04 LTS中的openjdk-11升级到11版本。这就是为什么它被命名为这样的原因。这是一个重大的变化,需要一些时间来准备。没有必要要求完成,因为它将会完成。
Ubuntu 18.04 LTS在OpenJDK 11发布之前几个月就已经发布了,所以在Ubuntu 18.04 LTS发布之前无法提供OpenJDK 11。
抱歉给您带来不便。
2018-11-24:请不要询问预计完成时间。这会向订阅此错误的每个人发送电子邮件,并不能帮助修复错误。
正在处理此错误。openjdk 11.0.1已在18.10中更新,并且在18.04 LTS中需要快速处理的安全更新。当11.0.1准备好时,它将会出现在18.04 LTS中,但这是一个需要仔细协调的重大变化。
2019-02-26:此错误已在错误1814133中处理,因此我将其标记为重复。进一步讨论应该在那个错误上进行,而不是在这里。
已经开放了一个
新的错误报告来跟踪所有需要进行的更改,而且有很多 - 大约有140个。以下是错误报告的摘录:
这个转换是从openjdk-10到openjdk-11的安全更新。这引入了运行时和FTBFS问题,需要将多个软件包回退到安全存储区。
这些软件包正在https://launchpad.net/~openjdk-11-transition团队的PPA上构建。PPA仅依赖于安全存储区,并按阶段分离。
基金会和安全团队之间达成的协议是,PPA中的软件包将被二进制复制到bionic-proposed,检查迁移问题,并且 - 没有待处理的问题 - 复制到bionic-security。
[...]
一些软件包在Cosmic中可能也需要更新,但作为例外,在Bionic转换解决后才会进行。
另外一个Ubuntu开发者
Tiago Stürmer Daitx注意到:
我们计划更新受此转换影响的Java应用程序。
更具体地说,任何无法在openjdk-11下正确运行的软件包都将进行调查,并有可能进行更新。更新并不一定意味着我们会使用最新版本:我们可能只是应用或回溯一些改动,使其能够在openjdk-11下正常工作。
目前还没有预计完成时间。过渡团队维护的各种PPA已经更新和添加了相当多的软件包,所以如果你希望帮助测试,请务必查看它们。
更新于2019年4月17日:
看起来问题已经修复了。现在
apt show openjdk-11-jdk
显示如下:
Package: openjdk-11-jdk
Version: 11.0.2+9-3ubuntu1~18.04.3
而java -version
的输出是:
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9-Ubuntu-3ubuntu118.04.3)
OpenJDK 64-Bit Server VM (build 11.0.2+9-Ubuntu-3ubuntu118.04.3, mixed mode, sharing)
update-alternatives
即可。谢谢 @muru 的回答。 - Daniel Hinojosa