Maven 聚合,自己是用來批量構建(編譯、打包、測試...)多個項目。bash
但實際開發中,通常不多單獨使用,更多的時候是和 maven 繼承一塊兒,實現多模塊管理。maven
由於繼承和聚合常常聯合使用,致使不少人分不清二者的邊界。所以我將這二者拆開來說。ide
這篇文章只講聚合,繼承請參考 maven繼承post
聚合項目建立步驟測試
如圖,是建立好的聚合項目結構,最外層的pom內容以下 idea
modules 下能夠定義多個 module ,以下spa
<modules>
<module>module-util</module>
<module>module-common</module>
</modules>
複製代碼
每一個 module 都有一個值,注意這個值是要聚合的maven項目相對於該 pom 文件的路徑名稱,而非 module 的 artifactId3d
如圖,將 module-util 修改爲 module-util2 後依然能識別,idea 顯示出了路徑 code
但將文件夾名稱改爲 module-util2 後就不能識別了 cdn
module 的值是要聚合的maven項目相對於該 pom 文件的路徑名稱
批量編譯
批量清理
批量打包
其餘就不一一展現了
聚合項目的 pom 文件中,packaging 的類型必須爲 pom,若是爲其餘類型,構建會出錯