【IT168 评论】在今年9月发布的Java 9中,添加了模块化功能。Java 9的模块化旨在提高可扩展性、让开发人员能够根据应用程序的功能自定义配置。但新的Java Platform Module System某些功能需要一些特定的工具才能发挥用处,以下主要介绍几款支持Java 9模块化的开发工具。
Apache Ant:支持
Apache
Ant是用于构建Java应用程序的库和命令工具,可快速用于Java 9模块化。此外,为了保证Ant与Java
9的可适应性,Ant对今年2月份发布的1.10.1版本进行了一些列的优化:支持模块路径和相关的javac、java、junit任务。
Apache Maven:支持
Maven软件构建工具3.7版支持Java 9和模块化。但是,Maven项目管理委员会的成员Brian Fox表示:对于软件开发库的程序员来讲,模块化的依赖关系可能会成是一个非常棘手的问题。
Eclipse IDE:支持
自今年6月份Oxygen发行以来开源Eclipse
IDE工具支持Java 9。但使用Java
9的模块化工作时,开发人员需要将vmargs(JVM的命令行参数)添加到eclipse.ini:add-modules=ALL-SYSTEM。另外,由于正在使用的类型不是java.base或java.se.ee(例如javafx.base)等,可能会导致项目无法正常运行。在这种情况下,你必须根据Eclipse文档得知哪些模块需要添加到—add-modules中。
Gradle:尚未完全支持
Gradle尚未完全支持Java 9,但相关人员透露,预计在明年开发人员会完成Java 9的兼容工作。
与此同时,使用Gradle的开发人员可以利用解决方案来支持实验模块化,Java库生成的模块可以将其作为依赖项使用。Java
9中模块系统的一大特点是开发人员可以利用自上而下的方式将项目库转换为Java 9模块。Gradle使用手册中也写道:“由于Java
9模块jar可以从类路径或模块路径中得到相同的效果,因此我们可以在多项目构建中转换一个单叶节点来生成Java
9模块。但在编译或运行消耗该节点输出的项目时,会使用module .jar类路径。”
Jenkins: 正在准备工作中
软件开发时用于集成和部署的Jenkins开源自动化服务器尚不支持Java 9模块化,目前这一部分的工作还尚在进行中。
CloudBees的创始人Kohsuke Kawaguchi表示,CloudBees正在领导Jenkins社区不断努力Jenkins与Java 9兼容。但他没有透露新的兼容版本具体得发布日期。
JetBrains IntelliJ Idea IDE:支持
从今年2月的新版开始JetBrains IntelliJ Idea IDE完全支持Java模块化功能。开发人员构建Java
9模块化项目时就像模块化路径(非类路径)一样简单。另外,JetBrains IntelliJ Idea
IDE还支持module-info.java文件的开发以及代码完成和文件修复等。IntelliJ Idea除了模块化还支持的内容包括:
·快速修复使用模块化的Java代码
·支持使用模块路径运行和调试
·生成模块图,帮助JDK可视化以及自定义模块