Maven 聚合和繼承

聚合ui

<modules>
  <!--相對位置-->
  <module>子模塊目錄<module>
</modules>

繼承url

父模塊--簡單的POM文件就能夠 ,有 module 說明 子模塊spa

子模塊:插件

<parent>
   <groupId>父模塊groupId</groupId>
   <artifactId>父模塊artifactId</artifactId>
   <version>父模塊的版本/version>
   <!--父模塊POM文件位置,若是找不到,從本地倉庫查找,默認值爲 ../pom.xml-->
   <relativePath>父模塊POM文件位置</relativePath>
<parent>
<!--默認從父模塊繼承 groupId,version ,也能夠自定義->
<artifactId>子模塊artifactId</artifactId>
<name>子模塊名稱</name>

能夠繼承的POM元素版本控制

pom元素 含義
groupId 項目組ID,項目座標的核心元素
version 項目版本,項目座標的核心元素
description 項目的描述信息
organization 項目的組織信息
inceptionYear 項目的創始年份
url 項目的URL地址
developers 項目的開發者信息
contributors 項目的貢獻者信息
distributionManagement 項目的部署配置
issueManagement 項目的缺陷跟蹤系統信息
ciManagement 項目的持續集成系統信息
scm 項目的版本控制系統的信息
mailingLists 項目的郵件列表信息
properties 自定義的Maven屬性
dependencies 項目的依賴配置
dependencyManagement 項目的依賴管理配置
repositories 項目的倉庫配置
build 包括項目的源碼目錄配置,輸出目錄配置,插件配置,插件管理配置
reporting 包括項目報告的輸出目錄配置,報告插件配置

依賴管理code

<!--dependencyManagement聲明的依賴父子模塊都不會引入,但子模塊繼承父模塊的依賴配置,又能保障子模塊依賴靈活性-->
<dependencyManagement>
   <dependencies>
      <dependency> 
       ....
      </dependency>
   </dependencies>
</dependencyManagement>

插件管理xml

<!--pluginManagement聲明的插件父子模塊都不會引入,但子模塊繼承父模塊的插件配置,又能保障子模塊插件靈活性-->
<build>
   <pluginManagement>
      <plugins>
        <plugin>
          ....
        </plugin>
      </plugins>
   <pluginManagement>
</build>

反應堆:在一個多模塊的項目中,反應堆(Reactor)是指全部模塊組成的一個構建結構。對於單模塊的項目,反應堆就是模塊自己,但對於多模塊項目,反應堆就是包含了各模塊直接繼承和依賴的關係,從而可以計算出合理的模塊構建順序繼承

大概順序:Maven按順序讀取POM,若是POM沒有依賴,就構建該模塊,不然就先構建其餘依賴模塊,若是該模塊還依賴其餘模塊,咋進一步先構建依賴的依賴。ip

模塊間的依賴關係會將反應堆構成一個有向非循環圖,若是出現循環,項目構建失敗。ci

裁剪反應堆--若是僅僅構建完整反應堆中的某些模塊時,用戶須要裁剪反應堆

命令 含義
-am --also-make 同時構建所列模塊的依賴模塊
-amd --also-make-dependents 同時構建依賴於所列模塊的模塊
-pl --projects<arg> 構建指定的模塊,模塊間用逗號分隔
-rf -resume-from<arg> 從指定的模塊回覆反應堆
相關文章
相關標籤/搜索