中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Maven中實現聚合和Parent繼承

發布時間:2021-06-08 17:11:19 來源:億速云 閱讀:194 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關如何在Maven中實現聚合和Parent繼承,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

繼承

繼承是 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,只需要像下面這樣寫。

<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打包的項目可以將它們列為模塊來聚合成一組項目進行構建,這些模塊名是這些項目的相對目錄。

<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而設計成多模塊。

關于如何在Maven中實現聚合和Parent繼承就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定陶县| 阿坝| 青阳县| 伊春市| 石嘴山市| 景谷| 上饶县| 汤阴县| 沙坪坝区| 启东市| 阿拉善左旗| 彭阳县| 虎林市| 田东县| 莱州市| 区。| 若尔盖县| 辽阳市| 伊川县| 长葛市| 塔城市| 萝北县| 沾益县| 玉山县| 江西省| 祁门县| 巢湖市| 富锦市| 仪征市| 铜陵市| 灵宝市| 绍兴县| 板桥市| 凌海市| 柏乡县| 密云县| 龙里县| 阿巴嘎旗| 隆德县| 丰城市| 南川市|