1.Maven項目的繼承
Maven項目之間不僅存在多模塊的聚合關系,而且Maven項目之間還可以存在相互繼承的關系。
Maven項目之間的繼承關系通過<parent>表示,在子Maven項目的POM中配置示例如下:
-
<parent>
-
<groupId>com.mycompany.jcat
</groupId>
-
<artifactId>jcat-bundle
</artifactId>
-
<version>2.0
</version>
-
<relativePath>../jcat-bundle
</relativePath>
-
</parent>
說明:給出被繼承的父項目的具體信息。
其中的relativePath給出父項目相對於子項目的路徑,這樣在構件子項目時首先從該相對路徑查找父項目,如果沒有才會從本地庫或進而遠程庫中查找父項目。
2.在子項目中,能夠繼承父項目的如下配置:
- dependencies
- developers
- contributors
- plugin lists
- reports lists
- plugin executions with matching ids
- plugin configuration
3.Maven的Super POM
類似於Java中的java.lang.Object類,所有Java類都繼承自該類。在Maven中也存在一個特殊的POM,被稱為Super POM。任何Maven項目的POM都繼承自Super POM。
在Super POM中,設置如下:
- Maven的central庫
- Maven的central插件庫
- build的基本參數和4個插件(maven-antrun-plugin、maven-assembly-plugin、maven-dependency-plugin和maven-release-plugin)
- reporting的基本目錄
- 一個profile(id=release-profile)
