1.聚合
在使用Maven的過程中,手邊可能有很多個項目,都需要打包,或者同時進行一些操作,這時候,如果一個一個手動的去操作,
就會顯得很麻煩。這時候,使用聚合就可以解決問題了。
假設,現在已有項目brother01,brother02,我們想要同時將這兩個項目打包。
其中,brother01和brother02是正常的項目,brother00是一個空的項目,它可以只有一個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>org.ygy.mvc</groupId>
-
<artifactId>brother00</artifactId>
-
<version>0.0.1-SNAPSHOT</version>
-
<packaging>pom</packaging>
-
-
<name>brother00</name>
-
<url>http://maven.apache.org</url>
-
-
<properties>
-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
</properties>
-
-
<modules>
-
<module>../brother01</module>
-
<module>../brother02</module>
-
</modules>
-
-
</project>
注意:
1)packaging方式爲pom
2)modules標籤,將需要統一管理的項目引進來即可
聚合,就好像是將實體類放在entity下,將持久層發在dao下,放在一起統一管理。
2.繼承
繼承的概念很好理解,和Java中的意思一樣。只不過,在Maven中繼承的是pom。
parent的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>org.ygy.mvc</groupId>
-
<artifactId>parent</artifactId>
-
<version>0.0.1-SNAPSHOT</version>
-
<packaging>pom</packaging>
-
-
<name>parent</name>
-
<url>http://maven.apache.org</url>
-
-
<properties>
-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
</properties>
-
-
<dependencies>
-
<dependency>
-
<groupId>junit</groupId>
-
<artifactId>junit</artifactId>
-
<version>3.8.1</version>
-
<scope>test</scope>
-
</dependency>
-
</dependencies>
-
</project>
son的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>
-
-
<parent>
-
<groupId>org.ygy.mvc</groupId>
-
<artifactId>parent</artifactId>
-
<version>0.0.1-SNAPSHOT</version>
-
</parent>
-
-
<artifactId>son</artifactId>
-
-
<packaging>jar</packaging>
-
-
<name>son</name>
-
<url>http://maven.apache.org</url>
-
-
</project>
注意:
1)父親的pom同樣要指定packaging爲pom
可以繼承的元素:
-
groupId :項目組 ID ,項目座標的核心元素;
-
version :項目版本,項目座標的核心元素;
-
description :項目的描述信息;
-
organization :項目的組織信息;
-
inceptionYear :項目的創始年份;
-
url :項目的 url 地址
-
develoers :項目的開發者信息;
-
contributors :項目的貢獻者信息;
-
distributionManagerment :項目的部署信息;
-
issueManagement :缺陷跟蹤系統信息;
-
ciManagement :項目的持續繼承信息;
-
scm :項目的版本控制信息;
-
mailingListserv :項目的郵件列表信息;
-
properties :自定義的 Maven 屬性;
-
dependencies :項目的依賴配置;
-
dependencyManagement :醒目的依賴管理配置;
-
repositories :項目的倉庫配置;
-
build :包括項目的源碼目錄配置、輸出目錄配置、插件配置、插件管理配置等;
-
reporting :包括項目的報告輸出目錄配置、報告插件配置等。
3.聚合與繼承的關係
區別與共同點摘自博客:http://chenzhou123520.iteye.com/blog/1582166
聚合是爲了協同項目構建
繼承是爲了消除重複