maven 的繼承,能讓咱們從父pom中繼承到一些配置。咱們能夠將一些通用的配置放在父pom中,來減小配置項。bash
如圖所示,有一個 inherit 項目,而且引入了一個依賴 maven
假如我想繼承這個pom,該怎麼作呢?post
只需聲明 parent 便可。注意,version必須填寫ui
<parent>
<groupId>com.wqlm</groupId>
<artifactId>inherit</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../inherit</relativePath>
</parent>
複製代碼
relativePath 的值是父項目的相對於當前pom的路徑url
如上圖,inherit 和 inherit-util 在同一個目錄下,因此inherit-util的 relativePath 爲 ../inheritspa
注意 relativePath 的值是父項目的相對於當前pom的路徑,而不是artifactId。以下圖 3d
Maven首先在當前構建項目的環境中查找父pom,而後項目所在的文件系統查找,而後是本地存儲庫,最後是遠程repo。code
好比你將 inherit 安裝到本地倉庫中以後,子項目能夠不寫路徑 cdn
子pom 能繼承父 pom 的以下元素(包括元素的子元素)blog
packaging 默認值爲 jar,也就是將項目打包成jar包
繼承對 packaging 的類型沒有要求,如實例所示,父類的 packaging 沒寫,則說明父類的打包類型爲jar,但依然能夠被子類繼承。
實際使用中,父類通常不會寫代碼,通常負責通用配置,因此大部分狀況下都會把packaging設置爲pom