瞭解Maven的<relativePath/>標簽用法

瞭解Maven的 relativePath標簽

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

從父級倉庫查找依賴版本

MAVEN構建jar包時候查找順序:relativePath元素中的地址>本地倉庫>遠程倉庫

舉例

父模塊配置

     <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.12</version>
      </dependency>

子模塊 <parent> 沒有配置 `<relativePath/>`

如果`<dependencies>`中依賴沒有指定版本,編譯時不能獲取父`<dependencyManagement>`中定義的版本。

Maven繼承父工程時的relativePath標簽解析

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.9.RELEASE</version>
    <relativePath/>
</parent>

relativePath

1)指定查找該父項目pom.xml的(相對)路徑。默認順序:relativePath > 本地倉庫 > 遠程倉庫

2)沒有relativePath標簽等同<relativePath>../pom.xml</relativePath>, 即默認從當前pom文件的上一級目錄找

3)<relativePath/>表示不從relativePath找, 直接從本地倉庫找,找不到再從遠程倉庫找

總結

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: