OpenJDK 项目已发布 Java Module System(JSR 277)和 Improved Modularity Support(JSR 294)实现的 early access 源码快照。JSR 277 是从单元布署的角度来处理模块化的,处理分布式格式、版本、依赖、仓库、运行时,以及必要的模块支持工具。JSR 294 则是从开发角度来处理,引入了新的语言结构、为信息隐藏而使用了“超级包”。
现在已经实现的特性有:
- java.module 中类的实现
- 模块初始化和类装载
- LocalRepository 和 URLRepository 的核心功能
- 使用 java 命令启动模块
- 打包工具 jam 的原型
项目已提供了相当数量的文档:
- 入门指南
- 示例模块
- JDK 工具的模块支持
- 超级包声明
- 可见性策略
为帮助大家有一个进一步的了解, Google 技术讲座还播出了 JSR 277 规范的领导者 Stanley Ho 和专家组的贡献者之一 Michal Ciernia 对此设计的详细解说。
Adreas Sterbenz 提供了与此快照相关的一些比较中肯的点评:
查看英文原文: OpenJDK Project Releases Java Module System (JSR 277) and Improved Modularity (JSR 294) EA Snapshot
- 这是一个动态开发版的快照,而不是 beta 版。所有的功能还都尚未完成。
- 这只是为开发者提供源码,没有二进制文件。
- 其中没有包括多少 JSR 294 的实现,因为到现在为止还只有寥寥几个部分已经开始动工。将来会有变化的。
- 获得源码的方式就是下载 ZIP 包,所有的源码都存放在 j2se workspace 中,这就是为什么它有 68MB 的原因,并不是因为 Modules 的实现很大。我们希望用起来像 Mercurial 库那样方便,这正是我们期待已久的。
- Modules 项目的新源码都基于 GPLv2 协议(包括 classpath exception)。
- 包括了回归测试和单元测试。
译者简介:张海龙,现就职于 Ethos ,注重对项目管理的过程建立和优化、设计模式的理解和实践。与 InfoQ 中文站分享内容,请邮件至 china-editorial@infoq.com
评论