了解maven的module

為什么要使用maven模塊?

視頻鏈接:https://v.qq.com/x/page/k0539b44w0s.html

ppt鏈接:https://ptteng.github.io/PPT/PPT-java/Java_task02_MavenModule.html

隨著技術(shù)的飛速發(fā)展和各類用戶對(duì)軟件的要求越來(lái)越高,軟件本身也變得越來(lái)越復(fù)雜,然后軟件設(shè)計(jì)人員開(kāi)始采用各種方式進(jìn)行開(kāi)發(fā),于是就有了我們的分層架構(gòu)、分模塊開(kāi)發(fā),來(lái)提高代碼的清晰和重用。針對(duì)于這一特性,maven也給予了相應(yīng)的配置。

我們?cè)陂_(kāi)發(fā)過(guò)程中,創(chuàng)建了2個(gè)以上的模塊,每個(gè)模塊都是一個(gè)獨(dú)立的maven project,在開(kāi)始的時(shí)候我們可以獨(dú)立的編譯和測(cè)試運(yùn)行每個(gè)模塊,但是隨著項(xiàng)目的不斷變大和復(fù)雜化,我們期望能夠使用簡(jiǎn)單的操作來(lái)完成編譯等工作,這時(shí)Maven給出了聚合的配置方式。

所謂聚合,顧名思義,就是把多個(gè)模塊或項(xiàng)目聚合到一起,我們可以建立一個(gè)專門負(fù)責(zé)聚合工作的Maven project 。

需要注意的幾點(diǎn):

1.父項(xiàng)目打包方式必須為pom

2.聚合模塊的版本和被聚合模塊版本一致

3.每個(gè)模塊relative path的值都是一個(gè)當(dāng)前POM的相對(duì)目錄

4.聚合模塊的內(nèi)容僅僅是一個(gè)pom.xml文件,它不包含src/main/Java、src/test/java等目錄,因?yàn)樗皇怯脕?lái)幫助其它模塊構(gòu)建的工具,本身并沒(méi)有實(shí)質(zhì)的內(nèi)容。

5.聚合模塊和子模塊的目錄可以是父子結(jié)構(gòu),也可以是平行結(jié)構(gòu),當(dāng)然如果使用平行結(jié)構(gòu),那么聚合模塊的POM也需要做出相應(yīng)的更改。

那么,如何通過(guò)父項(xiàng)目統(tǒng)一管理依賴?

1.這時(shí)可使用dependency management在父項(xiàng)目中管理依賴,解決不同模塊間的依賴重復(fù)問(wèn)題。在父項(xiàng)目中聲明dependency management不會(huì)引入直接下載jar包,在子項(xiàng)目pom中聲明才會(huì)引入。

2.相對(duì)于dependencyManagement,所有聲明在dependencies里的依賴都會(huì)自動(dòng)引入,并默認(rèn)被所有的子項(xiàng)目全部繼承。

建議使用dependency management進(jìn)行管理。由于是全部繼承,直接使用dependencies會(huì)在模塊中引入其他模塊的依賴。而且更便于管理。

6.參考文獻(xiàn)

http://blog.csdn.net/wanghantong/article/details/36427411

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • PPT 鏈接:ptteng.github.io/PPT/PPT-java/java_task02_maven.ht...
    大可2017閱讀 679評(píng)論 0 0
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評(píng)論 6 342
  • 前言什么是 POMQuick Overview POM 常用元素 pom.xml 完整注釋 參考 0 前言 什么是...
    阿父閱讀 12,765評(píng)論 1 36
  • 青春 在我眼前 一溜煙地小跑著消失了 刮起一陣風(fēng) 吹亂了我的頭發(fā) 迷離了我的雙眼 吹醒了我的腦袋 睜開(kāi)眼 伸手去挽...
    來(lái)自深淵的光閱讀 314評(píng)論 0 0

友情鏈接更多精彩內(nèi)容