OpenJDK的Java 7更新在哪里?

21

Oracle发布了Java 7更新2,而OpenJDK似乎仍停留在去年夏天发布的原始构建版本147。

是否会为OpenJDK提供更新?

似乎有一个专门为更新而设的OpenJDK项目(http://openjdk.java.net/projects/jdk7u/),它提到他们将与Oracle同时发布更新,但我找不到任何相关信息。

谢谢。

Marc


最近一次在mercurial代码库上的更改是5个月前。它的注释是“为更改集d91364304d7c添加了标签jdk7-b147”。http://hg.openjdk.java.net/jdk7/jdk7 - Peter Lawrey
1
@PeterLawrey,那是冻结的树。最新的更改在这里 - assylias
3个回答

12
我将回答自己的问题,综合我所有的发现以及@Agemen和@Kowser的答案。
  • OpenJDK是一个参考实现,除非有规范变更,否则不会改变。
  • 有一个OpenJDK更新项目,它在源代码中实现了所有的更新(http://openjdk.java.net/projects/jdk7u/, 源代码http://hg.openjdk.java.net/jdk7u/jdk7u-dev
  • OpenJDK不提供任何编译或打包的更新。事实上,OpenJDK为初始版本提供二进制文件只是为了方便起见。
  • 第三方操作系统/发行版的责任是编译和打包Java。例如RedHat和Ubuntu
  • 尚未有第三方发布Java 7的更新
  • 这些第三方通常使用IcedTea进行编译和打包,但IcedTea本身不进行编译和打包。http://icedtea.classpath.org/wiki/Main_Page

现在我们有一些使在开放源代码服务器部署中使用Java非常痛苦的组合因素

  • Oracle JDK具有更新(包括安全修复程序),而没有任何OpenJDK软件包。这使得除Oracle JDK外使用任何其他东西都会导致较差的安全性。
  • Oracle JDK不再可以由第三方打包分发(例如Ubuntu)。现在我们必须手动安装它或脚本化,并在所有服务器上维护它。

我就是不懂......

Marc


编辑

正如@Krige指出的那样,随着最新更新的OpenJDK构建可用,情况似乎终于开始加速了!


1
这是一个奇怪的生态系统。期待更新...我正要在Ubuntu服务器上安装生产JDK7,但不确定应该安装哪个版本。 - ripper234
不确定这是否只是最近的变化,但在Ubuntu上的OpenJDK确实通过Ubuntu本地软件包管理器系统获得周期性更新。我系统上安装的当前版本(OpenJDK Runtime Environment 1.7.0_21,IcedTea 2.3.9)与Oracle发布的最新更新(Java 7u21)相匹配。 - Marco Lackovic

3
我可能错了,但我认为可以从不同的存储库中使用mercurial检索源代码。它似乎是专门用于与Peter Lawrey在评论中链接的存储库不同。地址是http://hg.openjdk.java.net/jdk7u/jdk7u-dev 我不知道Oracle和OpenJDK贡献者如何管理分支和标签,但也许第一个稳定版本已经被冻结,使用克隆的存储库来确保包含修复程序...
回答问题时,我不确定OpenJDK网站是否应该提供任何打包版本的JDK。我想Oracle的基础设施就是为此而设计的...我可能错过了什么,但我认为在Oracle网站上提供的打包JDK只是OpenJDK的编译版本。由于它已成为参考实现,并且由Oracle积极维护,我不明白为什么会有所不同。
编辑:顺便说一下,我找不到可以在OpenJDK网站上直接下载打包OpenJDK的链接,即使是第一个稳定版本。但再次强调,我可能错过了一些显而易见的东西:-p 另外,正如评论中给出的链接所指出的那样,OpenJDK下有许多项目......因此,存储库结构有点复杂,具有hg“森林”(在尝试自己编译OpenJDK 7之前我不知道)。

4
一些有用的链接:如何构建(http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html)和存储库结构(http://openjdk.java.net/guide/repositories.html)。这些链接在一定程度上解释了为什么源代码的位置不明显。 - Matt

3
这篇博客文章中,它试图澄清,除非Java规范被修订,否则不会期望获得OpenJDK的更新。
从作者的评论中,给出了以下引用作为解释:

我们计划从OpenJDK代码库生成Linux和Windows RI二进制文件。技术上,只需要一个,但传统上Sun提供了更多来方便实施者。请注意,RI有一个非常特定的目的(例如,作为RI服务)一般不会更新,除非规范被修订。

为了澄清,OpenJDK是来自Oracle的RI(参考实现)。
我没有从oracle尝试获得确切信息。但我相信博客文章所说的.
因此,我能理解的是: 不要期望任何OpenJDK更新或任何错误修复。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接