经历了数年的延期和酝酿之后,作为 Jigsaw 项目的一部分,模块系统终于被集成到 JDK 9 build 111 的早期可访问版中来。变更列表中包括下列 4 个不同的 JEPs :
- JEP 200:模块化的 JDK
- JEP 260:封装最核心的 API
- JEP 261:模块化的系统
- JEP 282:jlink:Java 连接器(jlink 是用来组装一组模块及其依赖的工具,以产生优化后的自定义运行时映像,正如 JEP
220 中所定义的:模块化运行时映像。JEP 220 已被集成到 JDK 9+41“早期可访问(early access)”构建版本中。
Mark Reinhold 在其 2016 年 3 月 25 日的博客中称, Jigsaw 项目是“无数工程师历经许多年完成的 6 个 JEPs 。”
最后一个主要组件,模块化系统( JSR 376 和 JEP 261 )在这周早些时候被集成到 JDK 9 中去,现在在其 JDK 9 build 111 的早期可访问版中可用来测试。
Reinhold 同时推荐通过 Devoxx BE 2015 发言以及《T he State of Module System 》这篇文章来开始学习模块系统。
Reinhold 的博文最后写到:
基于反馈和体验,模块系统将继续在JSR 中演进一段时间。它的实现也将同时在Jigsaw 项目的“Jake”forest 中持续改进,除了更稳定的 JDK 9 构建版本外,我们将继续基于那些代码发布供早期预览的构建版本。
InfoQ 早先时候报道了 Nicolai Parlog 所撰写的,在 JavaOne 2015 大会上有关 Jigsaw 项目以及 Java 模块化发言的文章。在最近的QCon London 大会上, Simon Ritter 在其发言“Project Jigsaw in JDK 9: Modularity Comes To Java(JDK 9 中的 Jigsaw 项目:模块化最终来到 Java 中)”里深入剖析了 Java 中模块化的基本内容。
查看英文原文: Initial Implementation of Module System Pushed to JDK 9 build 111
感谢丁涛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论