IntelliJ IDEA 的Project structure说明
IntelliJ IDEA 的Project structure可以在File->Project structure中打開,同時(shí),在新建項(xiàng)目是IDE一般用向?qū)У姆绞阶屇闾顚慞roject structure相關(guān)內(nèi)容。在說(shuō)明如何填寫之前,先說(shuō)說(shuō)這些項(xiàng)都代表什么,包含Project、module、library、artficat和facet。project就是這個(gè)工程,下面有很多module。這里project和module的關(guān)系類似于Visual Studio中的解決方案和項(xiàng)目之間的關(guān)系,project對(duì)應(yīng)于解決方案,module對(duì)應(yīng)于項(xiàng)目(沒(méi)錯(cuò),就是這樣,project就是頂層,不要看英文翻譯)。library就是要包含的library,這個(gè)有點(diǎn)像VS里的程序集的概念。artifact是打包用的,這是maven里的概念,就是這個(gè)資源包含了哪些內(nèi)容,當(dāng)用package時(shí),生成相應(yīng)的jar或war,用instal(maven里用于發(fā)布資源)時(shí),這個(gè)包會(huì)連同其它必要的文件(如.pom文件),最后放在repository(maven的倉(cāng)庫(kù))中。facet是為了確認(rèn)信息,比如源碼在哪里放、相關(guān)資源(圖形等)在哪里放、java web程序的root路徑等等。
因?yàn)槠渌鼉蓚€(gè)都比較簡(jiǎn)單,故略去,這里主要來(lái)看module和artifact。
首先來(lái)看module,如下圖所示,sources就是說(shuō)這個(gè)module里有什么內(nèi)容。右邊是根節(jié)點(diǎn),一般就是這個(gè)module的名字,根節(jié)點(diǎn)下有一些預(yù)覽,說(shuō)明了不同性質(zhì)的內(nèi)容放在哪里。左邊顯示的是在右邊選中內(nèi)容的預(yù)覽。
?
Dependency就是管理這個(gè)module的依賴項(xiàng),依賴項(xiàng)可能是library包,也可能是其它的mocule。這里有個(gè)export選項(xiàng),這個(gè)選項(xiàng)被選上了話,那么說(shuō)明:將來(lái)某一個(gè)module依賴本module的話,那么被選中這個(gè)選項(xiàng)的項(xiàng)也會(huì)出現(xiàn)在那個(gè)module中。也就是說(shuō),有一個(gè)傳遞性。
?
接下來(lái)再看artifact。artifact就是對(duì)應(yīng)的一個(gè)maven的artifact,通常是一個(gè)java包。而如下如紅色框1所示的是這個(gè)artifact的具體內(nèi)容,你希望最終發(fā)布什么內(nèi)容,就是在這設(shè)置的。內(nèi)容的指定形式可以多樣化,比如圖中的1.1紅框,它就是指得是52n-ses-core這個(gè)module的編譯輸出目錄的內(nèi)容(也就是說(shuō)源碼編譯后的所有字節(jié)碼),也就是后面一張圖顯示的;1.2紅框指得是52n-ses-core這個(gè)module的Facet的內(nèi)容(facet就是上面的facet設(shè)置的內(nèi)容)。這些內(nèi)容可以通過(guò)拖動(dòng)的方式直接在紅框右邊的Available Elements列表中添加,這些內(nèi)容可能是library或者是"xxx"complie output等。
52n-ses-core這個(gè)module的編譯輸出目錄:
52n-ses-1.2.2這個(gè)artifact打包后的war:
“52n-ses-core”complie output輸出的內(nèi)容,對(duì)照上圖可以看到這些內(nèi)容最后都被打包到了war的WEB-INF/classes下。
轉(zhuǎn)載于:https://www.cnblogs.com/printN/p/6434507.html
總結(jié)
以上是生活随笔為你收集整理的IntelliJ IDEA 的Project structure说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 但使主人能醉客的下一句是什么啊?
- 下一篇: [2017.02.23] Java8 函