Red Hat和IBM提出了Java 9模块化的反对意见

Java执行委员会参与者担心模块化将对兼容性产生不利影响,并可能导致Java发展的两个世界

模块化是在7月底到期的Java SE(标准版)9中的关键特征。但Java参与者Red Hat和IBM已经提出了担忧,即基本模块计划可能导致应用程序和企业Java的不兼容性。

In a recent bulletin, Scott Stark, vice president of architecture for Red Hat’s JBoss group, outlined a litany of issues Red Hat and other Java Executive Committee members have with JSR (Java Specification Request) 376, pertaining to the Java Platform Modular System, a central component of the项目拼图Java工作模块。

Stark称," Jigsaw实现是一个新的模块系统,它成功地模块化了Java本身,但在JVM之上的任何实际应用的广泛生产部署中还没有被尝试过。"“目前广泛实现的许多应用部署用例在Jigsaw下是不可能实现的,或者需要进行重大的架构重构。”

JSR 376预计将为Java Enterprise Edition 9,到期日期为2018年底。然而,斯塔克有他的疑虑。“拼图中的局限性几乎肯定会阻止Java EE 9的可能性从拼图锯,因此需要现有的Java EE供应商完全抛出兼容性,互操作性和功能奇偶频校验,与Java EE规范的过去版本。“Stark表示,在某些情况下,拼图的实施与生态系统通常常用的模块化应用部署最佳实践相矛盾。

斯塔克说,拼图的关键设计点追求兼容性的未经兼容方法。这与模块化Java本身一起工作,但变得“适用于应用部署的更广泛用例”。

模块化Java,到期Java开发套件(JDK)9月27日,已经定位为更好的帮助Java缩小到较小的系统。其中的模块系统基于JSR 376。Stark说:“通过强制将Java平台本身的模块化和封装到应用领域的理念,该规范实际上降低了应用程序开发人员轻松适应这种模块系统的特殊实现的能力。”

Stark认为,Java Ecosystem需要数百万作者和用户的实施,以面临其应用程序和图书馆的重大挑战,特别是如果他们处理服务,课堂装载或反思。根据,计划导致以模块化方式部署应用程序的新的,未经证实和未经证实的架构。根据Stark的说法,可能有两个java软件开发:一个用于拼图,一个用于其他一切,涵盖Java SE ClassLoaders,OSGI,Java EE等。

Stark说,Jigsaw中引入的模式即使在以后的版本中也很难修复,因为这会造成向后和向前的兼容性问题。“结果将是Java生态系统被削弱,而此时服务器空间正在发生快速变化,像Go这样的语言的使用越来越多。”

在他大致拼图的9,500字批评,Stark还提出了服务加载的问题,包括可扩展性和定制性。Jigsaw实质上改变了ServiceLoader API的行为,可能会影响兼容性,他说。他还提到稳定性是一个问题,因为Jigsaw没有指定服务在一个层中返回的顺序。他称赞Apache Maven主席罗伯特·肖特;Paremus的Neil Bartlett;布莱恩·福克斯,Sonatype;以及帮助他分析“拼图”的几名红帽员工。

IBM的Tim Ellison在上周晚些时候在一个OpenJDK邮件列表中,STARK的担忧表明“仍然有工作要将社区更接近拟议标准的协议。”他说,IBM将在JSR 376上投票。(周一的Oracle代表无法对Red Hat和IBM提出的问题的询问提供回应。)

由于其复杂性,模块化已经从java se 8推迟了,2014年3月发布,到Java SE 9.和Java SE 9本身被推迟了通过这种复杂性。

这个故事,“Red Hat和IBM向Java 9模块化提出异议”最初发布infoworld.

加入网络世界社区有个足球雷竞技appFacebook.linkedin评论是最重要的主题。

版权所有©2017.Raybet2

IT薪水调查:结果是