Java9中,添加了模塊化功能。Java9的模塊化旨在提高可擴展性、讓開發(fā)人員能夠根據(jù)應(yīng)用程序的功能自定義配置。但新的JavaPlatformModuleSystem某些功能需要一些特定的工具才能發(fā)揮用處,以下主要介紹幾款支持Java9模塊化的開發(fā)工具。
ApacheAnt:支持
ApacheAnt是用于構(gòu)建Java應(yīng)用程序的庫和命令工具,可快速用于Java9模塊化。此外,為了保證Ant與Java9的可適應(yīng)性,Ant對今年2月份發(fā)布的1.10.1版本進行了一些列的優(yōu)化:支持模塊路徑和相關(guān)的javac、java、junit任務(wù)。
ApacheMaven:支持
Maven軟件構(gòu)建工具3.7版支持Java9和模塊化。但是,Maven項目管理委員會的成員BrianFox表示:對于軟件開發(fā)庫的程序員來講,模塊化的依賴關(guān)系可能會成是一個非常棘手的問題。
EclipseIDE:支持
自今年6月份Oxygen發(fā)行以來開源EclipseIDE工具支持Java9。但使用Java9的模塊化工作時,開發(fā)人員需要將vmargs(JVM的命令行參數(shù))添加到eclipse.ini:add-modules=ALL-SYSTEM。另外,由于正在使用的類型不是java.base或java.se.ee(例如javafx.base)等,可能會導(dǎo)致項目無法正常運行。在這種情況下,你必須根據(jù)Eclipse文檔得知哪些模塊需要添加到—add-modules中。
Gradle:尚未完全支持
Gradle尚未完全支持Java9,但相關(guān)人員透露,預(yù)計在明年開發(fā)人員會完成Java9的兼容工作。
與此同時,使用Gradle的開發(fā)人員可以利用解決方案來支持實驗?zāi)K化,Java庫生成的模塊可以將其作為依賴項使用。Java9中模塊系統(tǒng)的一大特點是開發(fā)人員可以利用自上而下的方式將項目庫轉(zhuǎn)換為Java9模塊。Gradle使用手冊中也寫道:“由于Java9模塊jar可以從類路徑或模塊路徑中得到相同的效果,因此我們可以在多項目構(gòu)建中轉(zhuǎn)換一個單葉節(jié)點來生成Java9模塊。但在編譯或運行消耗該節(jié)點輸出的項目時,會使用module.jar類路徑。”
Jenkins:正在準備工作中
軟件開發(fā)時用于集成和部署的Jenkins開源自動化服務(wù)器尚不支持Java9模塊化,目前這一部分的工作還尚在進行中。
CloudBees的創(chuàng)始人KohsukeKawaguchi表示,CloudBees正在領(lǐng)導(dǎo)Jenkins社區(qū)不斷努力Jenkins與Java9兼容。但他沒有透露新的兼容版本具體得發(fā)布日期。
JetBrainsIntelliJIdeaIDE:支持
從今年2月的新版開始JetBrainsIntelliJIdeaIDE完全支持Java模塊化功能。開發(fā)人員構(gòu)建Java9模塊化項目時就像模塊化路徑(非類路徑)一樣簡單。另外,JetBrainsIntelliJIdeaIDE還支持module-info.java文件的開發(fā)以及代碼完成和文件修復(fù)等。IntelliJIdea除了模塊化還支持的內(nèi)容包括:
·快速修復(fù)使用模塊化的Java代碼
·支持使用模塊路徑運行和調(diào)試
·生成模塊圖,幫助JDK可視化以及自定義模塊
以上就是長沙一度軟件培訓(xùn)java培訓(xùn)機構(gòu)小編介紹的“常見幾款Java9模塊化的開發(fā)工具”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。