maven中<parent>标签作用
1. 问题背景
在 spring 的官网上构建了一个 sprintboot 的项目,下载 zip 包后,可以看见 pom.xml
的有如下代码
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.1.4</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
那么
2. pom.xml中标签使用
maven的核心就是pom.xml,使用maven是为了更好的帮项目管理包依赖。
Maven项目之间的继承关系通过
<parent>
<groupId>com.mycompany.jcat</groupId>
<artifactId>jcat-bundle</artifactId>
<version>2.0</version>
<relativePath>../jcat-bundle</relativePath>
</parent>
其中的 relativePath
给出父项目相对于子项目的路径,这样在构建子项目时首先从该相对路径查找父项目,如果没有才会从本地库或进而远程库中查找父项目。
3. 可以继承的配置
在子项目中,能够继承父项目的如下配置:
- dependencies
- developers
- contributors
- plugin lists
- reports lists
- plugin executions with matching ids
- plugin configuration
展开剩余53%