搭建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。