idea中的project、module、artifact的具體使用
idea中沒(méi)有工作空間的概念,每一個(gè)項(xiàng)目都是一個(gè)工作空間,所以我們打開(kāi)一個(gè)新的項(xiàng)目時(shí)往往都要配置一下jdk、編譯版本、編譯輸出路徑、maven打包設(shè)置等。project下有一個(gè)module的概念,這個(gè)module類(lèi)似于eclipse中的project。如果一個(gè)項(xiàng)目是一個(gè)聚合工程,那么它可以配置多個(gè)module。module中主要配置這個(gè)模塊的代碼結(jié)構(gòu),編譯輸出路徑,依賴管理等。
jar包項(xiàng)目因?yàn)樗械囊蕾嚕═omcat等)都包含在本模塊中,只要編譯好了就可以直接運(yùn)行。但如果是war包項(xiàng)目,它需要部署在Tomcat等容器中,所以需要有一個(gè)artifact。
關(guān)于artifact的作用在CSDN中有一個(gè)博主是這么說(shuō)的:
artifact是一種用于裝載項(xiàng)目資產(chǎn)以便于測(cè)試,部署,或者分布式軟件的解決方案。例如集中編譯class,存檔java應(yīng)用包,web程序作為目錄結(jié)構(gòu),或者web程序存檔等

一、Project【工程】
這里主要針對(duì)全局做配置,但是現(xiàn)在的項(xiàng)目一般都是多模塊的,各模塊的具體要求都不盡相同,所以這里的配置大多都會(huì)被module配置覆蓋。

二、Modules【模塊,一個(gè)poject可包含多個(gè)】
針對(duì)各個(gè)模塊做配置,我們大部分生效的配置都在這里



新建module的方法
刪除父項(xiàng)目的src后,再右鍵父項(xiàng)目的new

三、Libraries
pom依賴導(dǎo)入,就可以了,這里就不需要在設(shè)置了吧?

四、Facets【設(shè)置 Tomcat讀取的web.xml配置文件 和 Web資源目錄】
Facets(名詞:方面)

五、Artifacts【項(xiàng)目的打包部署設(shè)置,這個(gè)是項(xiàng)目配置里面比較關(guān)鍵的地方】
artifact 可以作為存檔文件 ,或者作為包含以下結(jié)構(gòu)元素的目錄結(jié)構(gòu):
一個(gè)或多個(gè)編譯模塊、模塊依賴的類(lèi)庫(kù)、Resources 集合、其他 artifacts、獨(dú)立的文件目錄或存檔
再白話一點(diǎn),就是說(shuō)某個(gè) module 要如何打包
例如 war exploded、war、jar、ear 等等這種打包形式
某個(gè) module 有了 Artifacts 就可以部署到應(yīng)用服務(wù)器中了
jar:Java ARchive,通常用于聚合大量的 Java 類(lèi)文件、相關(guān)的元數(shù)據(jù)和資源(文本、圖片等)文件到一個(gè)文件,以便分發(fā) Java 平臺(tái)應(yīng)用軟件或庫(kù)
war:Web application ARchive,一種 JAR 文件,其中包含用來(lái)分發(fā)的 JSP、Java Servlet、Java 類(lèi)、XML 文件、標(biāo)簽庫(kù)、靜態(tài)網(wǎng)頁(yè)(HTML 和相關(guān)文件),以及構(gòu)成 Web 應(yīng)用程序的其他資源
exploded:在這里你可以理解為展開(kāi),不壓縮的意思。也就是 war、jar 等沒(méi)壓縮前的目錄結(jié)構(gòu)。建議在開(kāi)發(fā)的時(shí)候使用這種模式,便于修改了文件的效果立刻顯現(xiàn)出來(lái)
?默認(rèn)情況下,IDEA 的 Modules 和 Artifacts 的 output 目錄已經(jīng)設(shè)置好了,不需要更改,打成 war 包的時(shí)候會(huì)自動(dòng)在 WEB-INF 目錄下生成 classes,然后把編譯后的文件放進(jìn)去。
具體操作:
Web Application: Exploded,Web Application: Archive
這兩個(gè)打包的東西是一樣的,只不過(guò)Archive類(lèi)型的就是壓縮過(guò)的,一般開(kāi)發(fā)時(shí)選Exploded類(lèi)型的。



到此這篇關(guān)于idea中的project、module、artifact的具體使用的文章就介紹到這了,更多相關(guān)idea中的project、module、artifact內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決VS2017不能打開(kāi)stdio.h等文件的問(wèn)題
下面小編就為大家?guī)?lái)一篇解決VS2017不能打開(kāi)stdio.h等文件的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
關(guān)于指令重排現(xiàn)象的兩個(gè)階段詳解
這個(gè)知識(shí)點(diǎn)也是很多人說(shuō)不清道不明的地方,感覺(jué)都知道,說(shuō)又說(shuō)不出來(lái)。為什么會(huì)這樣呢?因?yàn)檫@幾個(gè)字,很容易被當(dāng)成動(dòng)詞去理解,其實(shí)正確的理解是當(dāng)成名詞,即指令重排現(xiàn)象2022-01-01
值得收藏的9個(gè)提高代碼運(yùn)行效率的小技巧(推薦)
本文給大家分享9個(gè)提高代碼運(yùn)行效率的小技巧(推薦),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-04-04
FedAvg聯(lián)邦學(xué)習(xí)FedProx異質(zhì)網(wǎng)絡(luò)優(yōu)化實(shí)驗(yàn)總結(jié)
這篇文章主要為大家介紹了FedAvg聯(lián)邦學(xué)習(xí)FedProx異質(zhì)網(wǎng)絡(luò)優(yōu)化的實(shí)驗(yàn)總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Jenkins集成Gitlab實(shí)現(xiàn)自動(dòng)化部署的全過(guò)程記錄
因?yàn)橹行凸静豢赡芘渲眠\(yùn)維開(kāi)發(fā),而開(kāi)發(fā)只管開(kāi)發(fā)的,所以運(yùn)維只能是通過(guò)使用開(kāi)源工具的方式來(lái)搭建自動(dòng)化部署系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Jenkins集成Gitlab實(shí)現(xiàn)自動(dòng)化部署的相關(guān)資料,需要的朋友可以參考下2022-04-04
使用sublime Text3過(guò)程中的各種問(wèn)題的解決
本文主要介紹了使用sublime Text3過(guò)程中的各種問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

