在今年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可視化以及自定義模塊