W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
下面討論的功能基于IntelliJ IDEA和JDK 9的早期訪問(wèn)版本,并且可能在將來(lái)發(fā)生變化。
Java平臺(tái)模塊系統(tǒng)(JSR 376)又稱Project Jigsaw,目標(biāo)是成為JDK 9版本的一部分。JSR描述的系統(tǒng)目標(biāo)是:
IntelliJ IDEA已經(jīng)有一個(gè)項(xiàng)目模塊的概念。每個(gè)IntelliJ IDEA模塊都構(gòu)建自己的類路徑。
隨著新的Java平臺(tái)模塊系統(tǒng)的引入,如果使用Java平臺(tái)的模塊路徑而不是類路徑,IntelliJ IDEA模塊必須通過(guò)支持Java平臺(tái)的模塊路徑來(lái)擴(kuò)展其功能。
在本教程中,我們將探討IntelliJ IDEA在創(chuàng)建和使用Java平臺(tái)模塊方面提供的幫助,以及這些模塊如何與IntelliJ IDEA模塊協(xié)同工作。
在IntelliJ IDEA中創(chuàng)建模塊后,我們可以通過(guò)在模塊源目錄下創(chuàng)建module-info.java文件將其定義為Java平臺(tái)模塊。
每個(gè)IntelliJ IDEA模塊最多只能有一個(gè)Java平臺(tái)模塊。我們可以通過(guò)選擇我們想要?jiǎng)?chuàng)建它的源目錄并使用菜單選項(xiàng):New|module-info.java(New | module-info.java)為我們的模塊創(chuàng)建一個(gè)新的module-info.java。
創(chuàng)建module-info.java聲明文件時(shí),IntelliJ IDEA將選擇IntelliJ IDEA模塊的名稱作為Java Platform模塊的默認(rèn)名稱。這可以更改,不需要匹配。
與所有java文件類型一樣,IntelliJ IDEA幫助我們對(duì)module-info.java內(nèi)容進(jìn)行自動(dòng)完成和有效性檢查。
需要在IntelliJ IDEA和Java Platform(Jigsaw)模塊中定義模塊的依賴關(guān)系。 IntelliJ IDEA幫助我們保持同步。 要定義項(xiàng)目模塊之間的依賴關(guān)系,我們可以在module-info.java中編寫(xiě)一個(gè)requires聲明,然后IntelliJ IDEA會(huì)建議我們將它作為依賴項(xiàng)添加到其模塊中。 這也適用于庫(kù)依賴項(xiàng),但前提是庫(kù)jar文件已經(jīng)聲明為項(xiàng)目依賴項(xiàng)。
從另一個(gè)方向,我們可以編寫(xiě)我們的java代碼。IntelliJ IDEA將建議將其他模塊添加為對(duì)當(dāng)前模塊的依賴,然后還建議我們添加requires聲明。
在IntelliJ IDEA中運(yùn)行類時(shí)(使用快捷鍵Ctrl+Shift+F10),將使用Java平臺(tái)模塊中聲明的信息。這意味著IntelliJ IDEA將使用模塊路徑而不是類路徑運(yùn)行JVM。這將強(qiáng)制執(zhí)行我們從模塊系統(tǒng)獲得的強(qiáng)封裝,然后我們可能會(huì)遇到的任何依賴性問(wèn)題都會(huì)被此次運(yùn)行重現(xiàn)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: