了解Maven的<relativePath/>标签用法

2023-05-18 标签 用法 lt

了解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找, 直接从本地仓库找,找不到再从远程仓库找

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章