idea中的project、module、artifact的具體使用
idea中沒有工作空間的概念,每一個(gè)項(xiàng)目都是一個(gè)工作空間,所以我們打開一個(gè)新的項(xiàng)目時(shí)往往都要配置一下jdk、編譯版本、編譯輸出路徑、maven打包設(shè)置等。project下有一個(gè)module的概念,這個(gè)module類似于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è)博主是這么說的:
artifact是一種用于裝載項(xiàng)目資產(chǎn)以便于測試,部署,或者分布式軟件的解決方案。例如集中編譯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è)編譯模塊、模塊依賴的類庫、Resources 集合、其他 artifacts、獨(dú)立的文件目錄或存檔
再白話一點(diǎn),就是說某個(gè) module 要如何打包
例如 war exploded、war、jar、ear 等等這種打包形式
某個(gè) module 有了 Artifacts 就可以部署到應(yīng)用服務(wù)器中了
jar:Java ARchive
,通常用于聚合大量的 Java 類文件、相關(guān)的元數(shù)據(jù)和資源(文本、圖片等)文件到一個(gè)文件,以便分發(fā) Java 平臺(tái)應(yīng)用軟件或庫
war:Web application ARchive
,一種 JAR 文件,其中包含用來分發(fā)的 JSP、Java Servlet、Java 類、XML 文件、標(biāo)簽庫、靜態(tài)網(wǎng)頁(HTML 和相關(guān)文件),以及構(gòu)成 Web 應(yīng)用程序的其他資源
exploded
:在這里你可以理解為展開,不壓縮的意思。也就是 war、jar 等沒壓縮前的目錄結(jié)構(gòu)。建議在開發(fā)的時(shí)候使用這種模式,便于修改了文件的效果立刻顯現(xiàn)出來
?默認(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è)打包的東西是一樣的,只不過Archive類型的就是壓縮過的,一般開發(fā)時(shí)選Exploded類型的。
到此這篇關(guān)于idea中的project、module、artifact的具體使用的文章就介紹到這了,更多相關(guān)idea中的project、module、artifact內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
大前端時(shí)代搞定PC/Mac端開發(fā),我有絕招(收藏版)
這篇文章主要介紹了大前端時(shí)代搞定PC/Mac端開發(fā),我有絕招,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Jenkins配置maven項(xiàng)目之打包、部署、發(fā)布的全過程
這篇文章主要介紹了Jenkins配置maven項(xiàng)目,打包、部署、發(fā)布,需要的朋友可以參考下2022-02-02git如何從某個(gè)分支的指定歷史版本中創(chuàng)建新分支
這篇文章主要介紹了git如何從某個(gè)分支的指定歷史版本中創(chuàng)建新分支問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05手把手教你用Hexo+Github搭建屬于自己的博客(詳細(xì)圖文)
越來越多的朋友選擇自己架設(shè)自己的博客,以來方便個(gè)性樣式二來也能帶來不少收入,大部分朋友都會(huì)選擇wordpress搭建個(gè)人博客,這里為大家分享使用Hexo+Github搭建開發(fā)者博客的方法,需要的朋友可以參考下2017-10-10windows 中 \r\n 區(qū)別于 類unix中的\n 疑問說明
windows 中 \r\n 區(qū)別于 類unix中的\n 疑問說明,需要的朋友可以參考下。2011-07-07