理解Maven的标签里面的子标签
①经常看到Spring Initializr建立Spiring boot 项目,生成pom.xml包含如下parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
②也会看到一些maven module项目包含下面elativePath形式:
<parent>
<artifactId>admin</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
③也有:
<parent>
<artifactId>admin</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
官方描述:
参考官方文档发现,relativePath允许你选择不同的位置进行相关继承。
1. 不加<relativePath> 默认是<relativePath> ../pom.xml </relativePath>
2. <relativePath>也可以在此指定<relativePath/> 指定后将在文件系统从指定位置查找,然后是本地仓库,最后是远程仓库。(优先级 指定位置 > 本地仓库 > 远程仓库)
3. 加上<relativePath/>标签关闭这个特性(feature),将永远从repositories解析读取parent POM