根怎么会有parent?

How can a root have a parent?

试图解决我的一些问题并查看许多明智的讨论,例如:

Maven parent pom vs modules pom,

我得出的结论是,我不了解关于 POM 的所有基本知识。

作为根的 POM 怎么可能有 parent 甚至 parents?

看来maven对什么是parent,什么是root有特殊的解释。但恐怕我找到的所有文档都对已知的事物采用如此简单的术语。对不起,他们不适合我。

为了稍微解释一下 root POM 的功能Parent,我需要借助示例。

每当我们使用 Spring Boot 初始化任何项目时,我们都会在 pom.xml

中使用以下 parent 定义
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.8.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

现在这个 parent 定义有助于继承您的应用程序在 Spring 引导方式下运行所需的公共托管依赖项。这些 parent 有自己的 pom.xml 并且那些 pom 提到了共同的依赖项。 Maven 中央存储库理解这些 Poms。 所以这是一种 pom 到 pom 继承。

继承托管依赖项的几个示例是: 1。使用 slf4j 进行日志记录 2. 使用 junit

进行测试

等等……等等……

所以这里固执己见 Spring 引导项目成为 parent 项目,你的 maven root pom.xml 成为受益者。