如何将 Spring Boot 项目集成到已经存在的多模块 Maven 项目中?

Posted

技术标签:

【中文标题】如何将 Spring Boot 项目集成到已经存在的多模块 Maven 项目中?【英文标题】:How to integrate a Spring Boot project into an already existing multi-module Maven project? 【发布时间】:2016-12-17 09:26:35 【问题描述】:

我有一个多模块 Maven 项目,它有一个带有一系列预配置插件和依赖项的反应器项目。现在我想向使用 Spring Boot 的反应器添加另一个模块,现在我遇到了一个我还不知道解决方案的问题:

Spring Boot 要求我使用它自己的父级:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

但我想使用我的反应器提供的配置。我该如何解决这个问题?

让我的反应堆有 spring-boot-starter-parent 作为父级不是一个选项,因为我正在处理一个库,它不依赖于 Spring Boot(只有这个实现 REST 功能的模块)。

目前,我的模块将 spring-boot-starter-parent 作为其父模块,并且它包含在反应器中,因此它可以构建,但我丢失了所有配置的代码质量检查。

【问题讨论】:

【参考方案1】:

Spring Boot 不需要你使用他们的父 pom,它只是更容易开始。有一种简单的方法可以避免使用父 pom by

在你的依赖管理中添加一个 scope:import 依赖 (spring-boot-dependencies),它为 spring 中使用的所有依赖设置版本(这样你就不需要手动设置版本) 添加创建可执行 jar 的 maven 插件 (spring-boot-maven-plugin)

有关更多详细信息,请在此处查看出色的文档:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#using-boot-maven-without-a-parent

【讨论】:

链接已删除 :(【参考方案2】:

您可以在依赖项管理部分中包含 spring-boot 依赖项 BOM(物料清单),以提供 spring-boot docs 中所述的导入范围

链接到另一个类似的*** question

【讨论】:

以上是关于如何将 Spring Boot 项目集成到已经存在的多模块 Maven 项目中?的主要内容,如果未能解决你的问题,请参考以下文章

spring boot学习 ---- spring boot 集成 mybatis

可以将Google Appengine的管理控制台集成到spring-boot项目中吗?

spring boot(十八)集成FastDFS文件上传下载

如何将 elasticSearch 与数据库和 Spring Boot 集成

spring boot + apache camel + mongodb 集成问题

JasperReports 怎么与 spring boot集成