Eclipse基金会本周宣布了Jakarta EE9 Milestal1,这是第一个候选版本(RC)之前的企业Java规范的最终版本。
雅加达EE9的发布标志着从javax.*名称空间(Oracle拒绝放弃)到Eclipse的Jakarta.*的最终过渡。此版本更新了所有API,以便在包名中使用Jakarta.*。
事实上,Eclipse基金会的执行董事Mike Milinkovich说,这个版本实际上就是关于过渡的。
";Java EE 9的主要目的是提供一个非常类似于Java EE 8的版本,";Milinkovich告诉ADTmag,";所有内容都转换为Jakarta.*名称空间。我们正在提供一个稳定的技术转换平台,因此生态系统中所有使用javax.servlet的工具和框架都可以信心十足地进行更改。
米林科维奇说,让生态系统为从爪哇EE咖啡杯过渡到雅加达EE帆船奠定坚实的基础,这是基金会为快速创新搭建舞台的方式,一旦过渡基本完成。
他补充说,这些技术已经存在了很长一段时间,我们必须为人们提供一个稳定的转换平台。同时,多亏了IBM的贡献,我们有了Eclipse Transformer Project,它将提供运行时支持。如果某人有一个他们不想重新编译的应用程序,而该应用程序使用的是javax.*名称空间,那么他们将能够在与Jakarta兼容的应用程序服务器上运行它。这将为未来的应用程序提供二进制兼容性。这里有很多不同的作品汇聚在一起,贡献来自许多不同的来源。我想提到IBM的Kevin Sutter,他真正承担了推动规范向前发展的重担。如果你看一下Glassfish,你会发现项目负责人来自Payara和富士通(Fujitsu)。如果你看一下TCK,你会发现很多工作都来自红帽。我们在倡议的不同部分取得了不同利益的良好平衡。
雅加达EE兼容性测试套件-一套兼容性测试,用于验证雅加达EE平台产品是否符合雅加达EE平台标准。
";Eclipse Foundation规范流程规定,在发布新版本的规范之前,必须在开放源码许可下至少有一个兼容的实现可用,";Milinkovich解释道。至少在目前,仅仅从纯技术的角度来看,TCK[技术兼容性工具包](TCK[Technology Compatibility Kit])。这最初是由甲骨文贡献的,与Glassfish捆绑在一起。因此,到目前为止,为了发货或释放,我们必须得到Glassfish,这是由大约20个项目组成的。有一大堆东西实现了一堆规范的各种参考实现。
根据GitHub网站的说法,雅加达EE9版本还从雅加达EE8中删除了旧的、可选的或已废弃的规范,以减少API的表面积,并确保新供应商更容易进入生态系统。这也减轻了旧API的实现、迁移和维护负担。
GitHub网站声明,Jakarta EE平台项目团队主要将Jakarta EE 9视为工具版本:
工具供应商可以从中创建和更新其工具以支持新的Jakarta.*命名空间的平台。
一个平台,开发团队可以将其用作测试将其应用程序迁移到新命名空间的稳定目标。
一个运行时供应商可以用来测试和交付选项和功能的平台,这些选项和功能支持与Jakarta EE 8的迁移和向后兼容。
一个创新的基础,雅加达EE规范项目可以使用它来驱动在雅加达EE10和更高版本中发布的新特性。
米林科维奇说,有很多可移动的部件,我们必须在同一天把它们都排好,才能真正进行放映。在我们发布的那天,一切都必须完美无瑕。那么,当兼容的实现100%通过TCK中的测试用例时,我们可以宣布胜利吗?";