专栏名称: 聊聊架构
在这里煮酒聊架构。
相关文章推荐
架构师之路  ·  为啥DeepSeek爆火之后,中国人想到的是 ... ·  昨天  
美团技术团队  ·  空降复旦!上海首条高校无人机配送航线启航 ·  3 天前  
架构师之路  ·  DeepSeek开源EPLB,世界上从来没有 ... ·  3 天前  
架构师之路  ·  炸裂官宣!大佬亲自站台,AWS全力支持Dee ... ·  2 天前  
51好读  ›  专栏  ›  聊聊架构

IBM和Red Hat将会对Java模块系统(Jigsaw)投反对票

聊聊架构  · 公众号  · 架构  · 2017-05-08 08:25

正文

作者|Charles Humble
编辑|张卫滨

InfoQ 之前曾经报道过 JSR 376(Java 平台模块系统)的开发现状,它通常被称为“Jigsaw 项目”。现在,有一件不太寻常事情,IBM 和 Red Hat 都公开表示,将会对 Jigsaw 目前的状态投反对票。

这个项目试图为 Java 提供一个标准化的模块系统,它最初的计划是在 Java 7 中实现,在 Mark Reinhold 宣布 B 计划之后,转移到了 Java 8 中。2012 年 7 月,Oracle 再一次推迟了这个项目,将其转移到了 Java 9 中。即便如此,这个项目依然再次延期,这主要是因为 Jigsaw 的复杂性而且它需要进行广泛的测试。

Jigsaw 的范围是非常广泛的,它不仅想要模块化庞大的 Java 运行时,还想强制进行强封装,这样的话 Java 代码只能通过公开的接口去访问平台库。模块化的代码不能随心所欲地进入另外一个模块的内部。

不仅如此,Oracle 希望模块系统不仅用在 JDK 本身中,还要用在应用程序的代码中。为了实现这一点,JSR 376 专家组(Expert Group,EG)曾经讨论过应用级别模块化与 JDK 模块化的各个方面。

除了标准流程之外,目前已经有两个主要的模块实现,它们与 Jigsaw 的范围有些重叠,这两个方案就是 JBoss Modules 和 OSGi,前者来自 Red Hat,而后者由一个厂商所组成的联盟来管理,这些厂商中包含 IBM。

Red Hat 和 IBM 都是 Java Community Process 执行委员会的成员,这个委员会有 25 个成员,它们要负责批准所有的 Java 新标准,包括“平台释放版本”要包含哪些的内容,比如 Java 的主版本。这样的释放版本必须要取得三分之二席位的支持。

来自 IBM 的 Tim Ellison 在 OpenJDK 邮件列表中宣布了他们的决定,他这样评论到:

IBM 也会投反对票,这反应了我们对这个 JSR 的态度,我们认为眼下它还没有超出 Public Review 阶段的要求,并不适合继续推进到 Proposed Final Draft 阶段。

JSR 376 专家组和公众已经针对规范当前的 public review 草案提出了很多合理的问题和关切,这些问题应该进行进一步的讨论并得到妥善解决。我们倡导专家组的所有成员继续协同工作,解决邮件列表中所记录的问题。

在将规范推至下一阶段之前,IBM 希望在整个专家组中形成更紧密的共识。

Ellison 的表态似乎是对一个私下交流的回应,这个交流是在 Ellison、Mark Reinhold 和 Scott Stark(Red Hat)之间进行的,Stark 是这样评论的:

目前,Red Hat 将不会投票批准 JPMS 的 public review 草案,因为它并不能实现 Java 社区的最佳利益。

有个问题在于 IBM 和 Red Hat 所提供的已有的模块系统很难与 Jigsaw 便捷地进行互操作。不过,这两个系统都没有在市场上占据支配性的地位,尽管被影响者会比较痛苦,但是大多数的 Java 项目并不会受到这种不兼容性的影响。







请到「今天看啥」查看全文