最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Maven的聚合(多模塊)和Parent繼承

 更新時(shí)間:2018年12月25日 15:32:21   作者:isea533  
今天小編就為大家分享一篇關(guān)于Maven的聚合(多模塊)和Parent繼承,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

即使是長(zhǎng)期從事 Maven 工作的開發(fā)人員也不能完全掌握聚合(多模塊)和 Parent 繼承的關(guān)系,在使用多模塊時(shí),子模塊總要指定聚合的 pom 為 <parent>。由于在大多數(shù)示例中都是這么寫的,所以很難讓人搞懂這兩者的具體作用和關(guān)系。

實(shí)際上在 Maven 中聚合(多模塊)和繼承是兩回事,兩者不存在直接聯(lián)系。

pom文檔地址:https://maven.apache.org/pom.html
Maven 完全參考:http://books.sonatype.com/mvnref-book/reference/index.html

繼承

繼承是 Maven 中很強(qiáng)大的一種功能,繼承可以使得子POM可以獲得 parent 中的各項(xiàng)配置,可以對(duì)子pom進(jìn)行統(tǒng)一的配置和依賴管理。父POM中的大多數(shù)元素都能被子POM繼承,這些元素包含:

  • groupId
  • version
  • description
  • url
  • inceptionYear
  • organization
  • licenses
  • developers
  • contributors
  • mailingLists
  • scm
  • issueManagement
  • ciManagement
  • properties
  • dependencyManagement
  • dependencies
  • repositories
  • pluginRepositories
  • build
  • plugin executions with matching ids
  • plugin configuration
  • etc.
  • reporting
  • profiles

注意下面的元素,這些都是不能被繼承的。

  • artifactId
  • name
  • prerequisites

想要添加 parent,只需要像下面這樣寫。

<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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <parent>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>my-parent</artifactId>
  <version>2.0</version>
  <relativePath>../my-parent</relativePath>
 </parent>
 <artifactId>my-project</artifactId>
</project>

其中relativePath元素不是必須的,指定后會(huì)優(yōu)先從指定的位置查找父pom。

聚合(或多模塊)

具有模塊的項(xiàng)目被稱為多模塊或聚合項(xiàng)目。模塊是此POM列出并作為一組執(zhí)行的項(xiàng)目。通過一個(gè)pom打包的項(xiàng)目可以將它們列為模塊來聚合成一組項(xiàng)目進(jìn)行構(gòu)建,這些模塊名是這些項(xiàng)目的相對(duì)目錄。

<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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>my-parent</artifactId>
 <version>2.0</version>
 <packaging>pom</packaging>
 <modules>
  <module>my-project</module>
  <module>another-project</module>
 </modules>
</project>

在列出模塊時(shí),不需要自己考慮模塊間依賴關(guān)系,即POM給出的模塊排序并不重要。Maven將對(duì)模塊進(jìn)行拓?fù)渑判?,使得依賴關(guān)系始終在依賴模塊之前構(gòu)建。

聚合 VS 父POM

雖然聚合通常伴隨著父POM的繼承關(guān)系,但是這兩者不是必須同時(shí)存在的,從上面兩者的介紹可以看出來,這兩者的都有不同的作用,他們的作用不依賴于另一個(gè)的配置。

父POM是為了抽取統(tǒng)一的配置信息和依賴版本控制,方便子POM直接引用,簡(jiǎn)化子POM的配置。聚合(多模塊)則是為了方便一組項(xiàng)目進(jìn)行統(tǒng)一的操作而作為一個(gè)大的整體,所以要真正根據(jù)這兩者不同的作用來使用,不必為了聚合而繼承同一個(gè)父POM,也不比為了繼承父POM而設(shè)計(jì)成多模塊。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • 使用Mybatis實(shí)現(xiàn)分頁(yè)效果示例

    使用Mybatis實(shí)現(xiàn)分頁(yè)效果示例

    大家好,本篇文章主要講的是使用Mybatis實(shí)現(xiàn)分頁(yè)效果示例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Spark Streaming算子開發(fā)實(shí)例

    Spark Streaming算子開發(fā)實(shí)例

    這篇文章主要介紹了Spark Streaming算子開發(fā)實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • java實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲代碼

    java實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲代碼

    這篇文章主要介紹了java實(shí)現(xiàn)的簡(jiǎn)單猜數(shù)字游戲代碼,通過隨機(jī)數(shù)與邏輯判斷來實(shí)現(xiàn)游戲功能,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)Sqlite的實(shí)踐

    SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)Sqlite的實(shí)踐

    sqlite這樣的內(nèi)存數(shù)據(jù)庫(kù),小巧可愛,做小型服務(wù)端演示程序,非常好用,本文主要介紹了SpringBoot集成Sqlite,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • java交換排序之奇偶排序?qū)崿F(xiàn)方法

    java交換排序之奇偶排序?qū)崿F(xiàn)方法

    這篇文章主要介紹了java交換排序之奇偶排序?qū)崿F(xiàn)方法,實(shí)例分析了奇偶排序的原理與具體實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-02-02
  • IDEA 中 maven 的 Lifecycle 和Plugins 的區(qū)別

    IDEA 中 maven 的 Lifecycle 和Plugins&n

    IDEA 主界面右側(cè) Maven 標(biāo)簽欄有同樣的命令,比如 install,既在 Plugins 中存在,也在 Lifecycle中存在,到底選哪個(gè)?二者又有什么區(qū)別呢?下面小編給大家介紹下IDEA 中 maven 的 Lifecycle 和Plugins 的區(qū)別,感興趣的朋友一起看看吧
    2023-03-03
  • jasypt SaltGenerator接口定義方法源碼解讀

    jasypt SaltGenerator接口定義方法源碼解讀

    這篇文章主要為大家介紹了jasypt SaltGenerator接口定義方法源碼解讀,,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • springboot實(shí)現(xiàn)攔截器的3種方式及異步執(zhí)行的思考

    springboot實(shí)現(xiàn)攔截器的3種方式及異步執(zhí)行的思考

    實(shí)際項(xiàng)目中,我們經(jīng)常需要輸出請(qǐng)求參數(shù),響應(yīng)結(jié)果,方法耗時(shí),統(tǒng)一的權(quán)限校驗(yàn)等。本文首先為大家介紹 HTTP 請(qǐng)求中三種常見的攔截實(shí)現(xiàn),并且比較一下其中的差異。感興趣的可以了解一下
    2021-07-07
  • 淺析JAVA中的內(nèi)存結(jié)構(gòu)、重載、this與繼承

    淺析JAVA中的內(nèi)存結(jié)構(gòu)、重載、this與繼承

    這篇文章主要介紹了 JAVA中的內(nèi)存結(jié)構(gòu)、重載、this與繼承的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • java編程經(jīng)典案例之基于斐波那契數(shù)列解決兔子問題實(shí)例

    java編程經(jīng)典案例之基于斐波那契數(shù)列解決兔子問題實(shí)例

    這篇文章主要介紹了java編程經(jīng)典案例之基于斐波那契數(shù)列解決兔子問題,結(jié)合完整實(shí)例形式分析了斐波那契數(shù)列的原理及java解決兔子問題的相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10

最新評(píng)論

双流县| 宜丰县| 贵南县| 政和县| 三河市| 双流县| 桃园市| 南川市| 宜都市| 嘉义市| 鄄城县| 寻甸| 长白| 汉寿县| 渭南市| 霍邱县| 利川市| 偃师市| 铅山县| 佛冈县| 区。| 南乐县| 合作市| 财经| 和静县| 江安县| 渝中区| 勐海县| 钟山县| 宕昌县| 巩义市| 治县。| 炎陵县| 巫山县| 灌南县| 永济市| 奉新县| 威海市| 平江县| 荣昌县| 南部县|