小编典典

Spring Boot - 当你已经有一个父 pom 时的父 pom

all

是否有特定的推荐方法将 spring-boot 父 pom 包含到已经具有所需父 POM 的项目中?

对于需要从组织父级扩展的项目,您有什么建议(这是非常常见的,甚至许多/大多数项目都发布到 Maven
中心,具体取决于它们来自的馈线存储库)。大多数构建内容与创建可执行 JAR 相关(例如,运行嵌入式
Tomcat/Jetty)。有一些方法可以构造事物,这样您就可以在不从父级扩展的情况下获得所有依赖项(类似于组合与继承)。但是,您无法以这种方式获得构建的东西。

因此,最好将所有 spring-boot 父 pom 包含在所需的父 POM 中,还是在项目 POM 文件中简单地具有 POM 依赖项。

其他选择?

TIA,

斯科特


阅读 63

收藏
2022-06-28

共1个答案

小编典典

您可以像“bom”一样使用 spring-boot-starter-parent
(参见Spring和 Jersey 其他现在支持此功能的项目),并且仅将其包含在具有 scope=import
的依赖项管理部分中。这样您会得到很多使用它的好处(即依赖管理)而不替换您实际父级中的设置。

它做的另外两件事是

  1. 定义大量属性以快速设置要覆盖的依赖项版本
  2. 使用默认配置配置一些插件(主要是 Spring Boot maven 插件)。因此,如果您使用自己的父母,这些就是您必须手动完成的事情。

Spring Boot 文档中提供的示例:

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.1.3.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
2022-06-28