modules
從字面意思來說,module就是模塊,而pom.xml中的modules也正是這個意思,用來管理同個項目中的各個模塊;如果maven用的比較簡單,或者說項目的模塊在pom.xml沒進行划分,那么此元素是用不到的;不過一般大一點的項目是要用到的。
1.需求場景
如果我們的項目分成了好幾個模塊,那么我們構建的時候是不是有幾個模塊就需要構建幾次了(到每個模塊的目錄下執行mvn命令)?當然,你逐個構建沒問題,但是非要這么麻煩的一個一個的構建嗎,那么簡單的做法就是使用聚合,一次構建全部模塊。
2.具體實現
a.既然使用聚合,那么就需要一個聚合的載體,先創建一個普通的maven項目account-aggregator,
因為是個聚合體,僅僅負責聚合其他模塊,那么就只需要上述目錄,該刪除的就刪了;注意的是pom文件的書寫(紅色標明的):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.youzhibing.account</groupId> <artifactId>account-aggregator</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>Account Aggrregator</name> <url>http://maven.apache.org</url> <modules> <!-- 模塊都寫在此處 --> <module>account-register</module> <module>account-persist</module> </modules> </project>
b.創建子模account-register、account-persist:右擊account-aggregator,new --> other --> Maven,選擇Maven Module,創建moven模塊。
c.創建完成后,項目結構如下,那么此時account-aggregator可以收縮起來了,我們操作具體子模塊就好了。
d.注意點,當我們打開包結構的子模塊的pom文件時,發現離預期的多了一些內容,我們坐下處理就好了。
e.那么編碼完了之后,我們只需要構建account-aggregator就好了,所有的子模塊都會構建。