4.0.0com.juvenxu.mvnbook.acco" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Maven聚合與繼承

系統(tǒng) 1611 0

?

Maven 聚合與繼承

一、聚合

為了能夠使用一條命令就能構建 ? account-email ? account-persist 兩個模塊,我們需要建立一個額外的名為 ? account-aggregator 的模塊,然后通過該模塊構建整個項目的所有模塊。 ? account-aggregator 本身也是個 ? Maven 項目,它的 ? POM 如下
        <project>
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.juvenxu.mvnbook.account</groupId>
	<artifactId>account-aggregator</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging> pom </packaging>
	<name>Account Aggregator</name>
	 <modules>
		<module>account-email</module>
		<module>account-persist</module>
	 </modules>
</project>
      
? 注意: packaging 的類型為 pom ? module 的值是一個以當前 POM 為主目錄的相對路徑。

二、繼承

可聲明父 POM 供子 ? POM 繼承

父模塊 POM 如下:

?

        <project>
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.juvenxu.mvnbook.account</groupId>
	<artifactId> account-parent </artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>Account Parent</name>
</project>
      

? 子模塊聲明繼承如下:

?

        <project>
	<modelVersion>4.0.0</modelVersion>
	
	< parent >
		<groupId>com.juvenxu.mvnbook.account</groupId>
		<artifactId> account-parent </artifactId>
		<version>1.0.0-SNAPSHOT</version>
		< relativePath >../account-parent/pom.xml</ relativePath>
	</ parent >
	
	<artifactId> account-email </artifactId>
	<name>Account Email</name>
  ...
</project>
      

? 最后,同樣還需要把 ? account-parent 加入到聚合模塊 account-aggregator 中。聚合的 ? POM 如下:

?

        <project>
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.juvenxu.mvnbook.account</groupId>
	<artifactId>account-aggregator</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging> pom </packaging>
	<name>Account Aggregator</name>
	<modules>
		<module>account-email</module>
		<module>account-persist</module>
		<module> account-parent</module>
	</modules>
</project>
      
? 注意:

1 、子模塊沒有聲明 groupId version, ? 這兩個屬性繼承至父模塊。但如果子模塊有不同與父模塊的 ? groupId version ? ,也可指定;

2 、不應該繼承 artifactId, 如果 groupId ? version artifactId ? 完全繼承的話會造成坐標沖突;另外即使使用不同的 ? groupId version ,同樣的 ? artifactId 也容易產生混淆。
3
、使用繼承后 ? parent 也必須像自模塊一樣加入到聚合模塊中。也就是在在聚合模塊的 ? pom 中加入 <module>account-parent</module>

?

三、聚合與繼承的關系

區(qū)別 ?
1 . 對于聚合模塊來說,它知道有哪些被聚合的模塊,但那些被聚合的模塊不知道這個聚合模塊的存在。
2. 對于繼承關系的父 ? POM 來說,它不知道有哪些子模塊繼承與它,但那些子模塊都必須知道自己的父 ? POM 是什么。

共同點 ?
1. 聚合 ? POM 與繼承關系中的父 POM ? packaging 都是 pom
2. 聚合模塊與繼承關系中的父模塊除了 ? POM 之外都沒有實際的內容。
注:在現(xiàn)有的實際項目中一個 ? POM 既是聚合 POM ,又是父 ? POM ,這么做主要是為了方便

四、 Maven 可繼承的 POM ? 元素
                    groupId :項目組 ID ,項目坐標的核心元素;
version :項目版本,項目坐標的核心元素;
description :項目的描述信息;
organization :項目的組織信息;
inceptionYear :項目的創(chuàng)始年份;
url :項目的 url 地址
develoers :項目的開發(fā)者信息;
contributors :項目的貢獻者信息;
distributionManagerment :項目的部署信息;
issueManagement :缺陷跟蹤系統(tǒng)信息;
ciManagement :項目的持續(xù)繼承信息;
scm :項目的版本控制信息;
mailingListserv :項目的郵件列表信息;
properties :自定義的 Maven 屬性;
dependencies :項目的依賴配置;
dependencyManagement :醒目的依賴管理配置;
repositories :項目的倉庫配置;
build :包括項目的源碼目錄配置、輸出目錄配置、插件配置、插件管理配置等;
reporting :包括項目的報告輸出目錄配置、報告插件配置等。
                  
?

?

Maven聚合與繼承


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 波多野结衣在线网址 | 久久久精品久久视频只有精品 | 欧洲一级鲁丝片免费 | 国内精品伊人久久久影视 | 极品尤物一区二区三区 | 日本一区二区三区中文字幕 | 天天天天做夜夜夜夜 | 欧美在线资源 | 中文字幕在线观看视频一区 | 欧美精品影视 | 久久伊人久久 | 成人激情免费视频 | 日韩一二区 | 亚洲精品国产福利在线观看 | 91久久精品日日躁夜夜躁国产 | 久草视频精品 | 国产中文精品无码欧美综合小说 | 五月婷婷之综合激情 | 久久99国产综合精品 | 日本精品在线播放 | 国产精品福利在线观看秒播 | 91精品国模一区二区三区 | 国产成人精品免费午夜 | 红杏网站永久免费视频入口 | 先锋资源中文字幕 | 国产精品中文 | 色婷婷亚洲五月色综合色 | 一级毛片在线观看视频 | 亚洲欧美精品 | 婷婷综合网站 | 免费一看一级毛片 | 国产亚洲欧洲国产综合一区 | 天天爱天天做天天干 | 91久久艹 | 日韩一区二区三区四区五区 | 国产亚洲精品久久久久婷婷图片 | 国产午夜亚洲精品一区 | 亚洲欧美日韩精品久久亚洲区色播 | 午夜精品久久久久久久99黑人 | 麻豆专区一区二区三区四区五区 | 亚洲欧美在线观看视频 |