国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Maven的聚合(多模塊)和Parent繼承

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

2021-06-25 13:28isea533 Java教程

今天小編就為大家分享一篇關于Maven的聚合(多模塊)和Parent繼承,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

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

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

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

繼承

繼承是 maven 中很強大的一種功能,繼承可以使得子pom可以獲得 parent 中的各項配置,可以對子pom進行統一的配置和依賴管理。父pom中的大多數元素都能被子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,只需要像下面這樣寫。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<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元素不是必須的,指定后會優先從指定的位置查找父pom。

聚合(或多模塊)

具有模塊的項目被稱為多模塊或聚合項目。模塊是此pom列出并作為一組執行的項目。通過一個pom打包的項目可以將它們列為模塊來聚合成一組項目進行構建,這些模塊名是這些項目的相對目錄。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>

在列出模塊時,不需要自己考慮模塊間依賴關系,即pom給出的模塊排序并不重要。maven將對模塊進行拓撲排序,使得依賴關系始終在依賴模塊之前構建。

聚合 vs 父pom

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

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/isea533/article/details/73744497

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品第一国产精品 | 欧美日韩中文 | 日韩av色| 在线亚洲精品 | 精品日韩一区二区三区 | 欧美日韩中文字幕 | 国产99久久久精品视频 | 久久综合久久88 | 99久久毛片免费观看 | 欧美日本韩国一区二区 | 山岸逢花在线观看 | 99国产精品99久久久久久 | 99久久久久久 | 欧美色影院 | 欧美日韩专区 | 最好观看的2018中文 | 国产精品一级 | 高清一区二区三区 | 精品久久中文字幕 | 国产精品美女久久久久久久久久久 | 国产精品久久久久久久久久久新郎 | 精品国产一区二区三区高潮视 | 成年黄色网 | 日韩精品无码一区二区三区 | 青青国产在线视频 | 日本在线观看网址 | 久久久久久久久久久久久九 | 天天摸天天干 | a吖2020天堂网 | 99久久免费精品 | 偷拍呻吟高潮91 | 午夜大片男女免费观看爽爽爽尤物 | 成人aaa视频 | av片免费观看 | 亚洲国产精品欧美一二99 | 日韩成人精品在线 | 欧美精品欧美极品欧美激情 | 91欧美激情一区二区三区成人 | 日韩一区二区免费电影 | 免费羞羞视频网站 | 欧美顶级毛片在线播放 |