maven pom relativePath属性的作用

搭建maven项目,子模块指定父模块试,经常会在parent下面出现relativePath类似下面:

<parent>
    <groupId>net.itxw</groupId>
    <artifactId>test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath/>
</parent>

这个<parent>下面的<relativePath>属性是什么意思?

其实很明显,就是parent的路径,具体来说就是你引用这个parent项目,那parent项目的pom在哪里?

1.默认值:

默认我们不用写<relativePath>,那默认值就是 ../pom.xml,会从本地路径中获取parent的pom

我们建多模块的项目就是这个情况

2.<relativePath/>:

这样写,也就是说我指定了relativePath,但值是空的,设定一个空值将始终从仓库中获取,不从本地路径获取.

很常见的场景就是使用springboot的时候

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

3.<relativePath>一个pom路径<relativePath/>:

这种也很显然,指定一个本地的路径,从本地路径获取parent的pom。

 

posted @ 2023-03-11 15:31  沐春风-燕南飞  阅读(214)  评论(0编辑  收藏  举报