maven 多模块项目关系
前言
- maven 3.5.0
maven 多模塊項目關系
maven 多模塊項目關系有2種,分別為:繼承關系和聚合關系。
繼承關系
具有繼承關系的多模塊項目結構如下:
my-project-inheritance|-- my-module| `-- pom.xml`-- pom.xmlmy-project-inheritance簡稱父項目,my-module簡稱子項目。
父項目的POM文件(my-project-inheritance/pom.xml)內容:
子項目的POM文件(my-project-inheritance/my-module/pom.xml)內容:
<project><parent><groupId>com.mycompany.app</groupId><artifactId>my-project-inheritance</artifactId><version>1</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-module</artifactId><version>1</version> </project>繼承關系下,子項目可以繼承父項目POM的某些屬性。比如 groupId、version屬性。因此,子項目可以利用繼承關系將POM精簡如下:
<project><parent><groupId>com.mycompany.app</groupId><artifactId>my-project-inheritance</artifactId><version>1</version></parent><modelVersion>4.0.0</modelVersion><artifactId>my-module</artifactId> </project>聚合關系
具有聚合關系的多模塊項目結構如下:
my-project-aggregation|-- my-module| `-- pom.xml`-- pom.xmlmy-project-aggregation簡稱父項目,my-module簡稱子項目。
父項目的POM文件(my-project-aggregation/pom.xml)內容:
子項目的POM文件(my-project-aggregation/my-module/pom.xml)內容:
<project><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-module</artifactId><version>1</version> </project>聚合關系下,在父項目上調用maven命令時,也會同步在子項目上執行。比如在父項目上調用命令 mvn package, 也會同步在子項目上調用命令 mvn package。
繼承關系和聚合關系
如果多個Maven項目都有相似的配置,則可以使用繼承關系。提取那些相似的配置到父項目。
如果多個Maven項目需要一起構建或處理,則可以使用聚合關系。在父項目中進行構建或處理即可。
多數情況下,多模塊項目同時具有繼承關系和聚合關系。
參考
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
總結
以上是生活随笔為你收集整理的maven 多模块项目关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTTP中常用响应头
- 下一篇: 三季度韩国手机市场市占率:三星84%遥遥