AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1037646
Accepted
tudor -Reinstate Monica-
tudor -Reinstate Monica-
Asked: 2018-05-18 21:54:34 +0800 CST2018-05-18 21:54:34 +0800 CST 2018-05-18 21:54:34 +0800 CST

为什么 OpenJDK 10 打包为 openjdk-11-*?

  • 772

虽然希望从源代码编译 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-*??

package-management versions java openjdk
  • 2 2 个回答
  • 19677 Views

2 个回答

  • Voted
  1. Best Answer
    muru
    2018-05-18T22:27:33+08:002018-05-18T22:27:33+08:00

    这是因为这些软件包在发布时将成为 OpenJDK 11。请参阅此邮件列表帖子:

    我代表 Ubuntu Foundations 团队请求 OpenJDK 的 SRU 例外。我们的计划是发布 OpenJDK 10 作为 Bionic 的默认 JRE/JDK 1,然后在 2018 年 9 月/10 月将 main 中的默认 JRE/JDK 作为 SRU 迁移到 OpenJDK 11。

    = 拟议计划 =

    Bionic 将与 OpenJDK 10 作为默认 JRE/JDK 一起发布,一旦达到 GA,OpenJDK 11 将取代它。

    ...

    如果我们打算在 Bionic 发布后切换到 OpenJDK 11,我们希望在发布时避免将 OpenJDK 8 作为 Bionic 中的默认 JRE/JDK,因为存在于 8 和 11 之间的任何额外接口增量不仅会使归档文件损坏,它还使 JDK 的外部使用者暴露在损坏中。相比之下,OpenJDK 10 和 OpenJDK 11 之间的接口增量预计会相当小,尤其是与我们已经知道的 OpenJDK 8 和 OpenJDK 9 之间的增量比较大。因此,我们应该将 OpenJDK 10 作为 18.04 中的默认 JDK 发布,并在发布时过渡到 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。

    https://lists.ubuntu.com/archives/ubuntu-release/2018-March/004364.html

    带来不便敬请谅解。

    2018-11-24:请不要要求 ETA。这会向订阅此错误的每个人发送一封电子邮件,但无助于修复错误。

    这个错误正在处理中。openjdk 11.0.1 在 18.10 中更新,在 18.04 LTS 中有一个需要快速处理的安全更新。11.0.1 准备好后将进入 18.04 LTS,但这是一个需要仔细协调的重大变化。

    2019-02-26:此错误已在错误 1814133 中处理,因此我将其标记为重复。应该对那个错误而不是在这里进行进一步的讨论。


    一个新的错误报告已打开,用于跟踪所有需要进行的更改,其中有很多- 粗略计算为 140。错误报告摘录:

    此过渡是从 openjdk-10 到 openjdk-11 的 openjdk-lts 的安全更新。这引入了运行时和 FTBFS 问题,这也需要将多个包反向移植到安全口袋中。

    这些软件包正在 https://launchpad.net/~openjdk-11-transition团队下的 PPA 上构建。PPA 仅依赖于安全口袋,并分阶段分开。

    基金会和安全团队之间商定的流程是,PPA 中的包将被二进制复制到仿生提议中,检查迁移问题,并且 - 没有待处理的问题 - 复制到仿生安全中。

    [...]

    一些软件包可能还需要在 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)
    
    • 63
  2. Karl
    2019-02-06T19:10:04+08:002019-02-06T19:10:04+08:00

    见上面穆鲁的回答,

    但是为了解决这个问题,您可以手动安装 openjdk 11 并将其添加到 update-alternatives 以便您可以切换版本,当官方软件包更新时您可以切换到该版本。请参阅下文以了解如何:

    $ wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz -O /tmp/openjdk-11.0.2_linux-x64_bin.tar.gz
    
    $ sudo tar xfvz /tmp/openjdk-11.0.2_linux-x64_bin.tar.gz --directory /usr/lib/jvm
    

    在 /usr/lib/jvm/jdk-11.0.2 下解压 jdk

    然后将其添加到替代系统

    sudo sh -c 'for bin in /usr/lib/jvm/jdk-11.0.2/bin/*; do update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 100; done'
    
    sudo sh -c 'for bin in /usr/lib/jvm/jdk-11.0.2/bin/*; do update-alternatives --set $(basename $bin) $bin; done'
    

    在替代品中看到它

    $ sudo update-alternatives --config java
    There are 3 choices for the alternative java (providing /usr/bin/java).
    
      Selection    Path                                            Priority   Status
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      auto mode
      1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      manual mode
      2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
    * 3            /usr/lib/jvm/jdk-11.0.2/bin/java                 100       manual mode
    
    Press <enter> to keep the current choice[*], or type selection number: 3
    

    检查它是否有效

    $ java -version
    openjdk version "11.0.2" 2019-01-15
    OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
    OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
    
    • 5

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行判断机器是否需要重新启动?

  • 有没有办法重置所有包/源并从头开始?

  • 如何回滚到 PHP 5.2?

  • 包管理器之间有什么区别?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve