搭建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.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
3、<relativePath>路径<relativePath/>
这种也很显然,指定一个本地的路径,从本地路径获取parent的 pom。