基本概念
Maven的聚合特性能夠把項目的各個模塊聚合在一起構建,而Maven的繼承特性則能幫助抽取各模塊相同的依賴和插件等配置。
一個項目的子模塊都應該使用相同的groupId,如果它們一起開發和發布,還應該使用同樣的version,此外,它們的artifactId還應該使用一致的前綴,以方便同其它項目區分。
聚合
如果一次性構建兩個或者更多的項目,而不是分別到對應的目錄下分別執行mvn命令,Maven聚合(或者稱為多模塊)這一特性就是為該需求服務的。
聚合項目的POM文件,第一個特殊的地方為packaging,其值為pom,對于聚合模塊來說,其打包的方式packaging的值必須為pom,否則就無法構建。
繼承
作為父模塊的POM文件,其打包類型也必須為pom。
對應子模塊中的POM文件,需要使用parent元素生命父模塊,parent下的子元素groupId、artifactId和version指定了父模塊的坐標,這三個元素是必須的。元素relativePath表示父模塊POM的相對路徑。
插件管理
Maven提供了dependencyManagement元素幫助管理依賴,類似地,Maven提供了pluginManagement元素幫助管理插件。在該元素中配置的依賴不會造成實際的插件調用行為,黨POM中配置了真正的plugin元素,并且其groupId和artifactId與pluginManagement中配置的插件匹配時,pluginManagement的配置才會影響實際的插件行為。
所有用到的插件版本在父pluginManagement元素中聲明,這樣做可以統一項目的插件版本,避免潛在的插件不一致或者不穩定問題,也更易于維護。
文章僅供參考,代碼并不是全正確,只需要知道在對應的情況,可以做對應的處理,代碼是變化的,我相信原理不變