【问题标题】:Does Spring Boot support multimodule maven projects?Spring Boot 是否支持多模块 Maven 项目?
【发布时间】:2016-05-20 20:22:07
【问题描述】:

我只是好奇 Spring Boot 对多模块 maven 项目的支持程度。在创建一组良好的分层项目(尤其是设置各种 JPA/JDO 增强器)时,需要做很多工作。我见过的所有示例都将所有内容都放在一个项目中,这对于简单的演示来说很好。

Spring Boot 能否创建一个不错的多模块 Maven 项目,完成所有依赖版本管理、插件配置和其他相关最佳实践的父 pom,然后为以下模块设置子项目(从底部依赖链上):

  • commons(一切都依赖的通用东西,实用程序等)
  • 域(持久域对象——JPA、JDO 等)
  • 服务(服务层)
  • 网络(网络和休息层)

这真的很有帮助。最初设置它需要 HOURS,并且需要大量时间来正确维护它。

【问题讨论】:

  • 创建多个项目,这些项目按照您描述的路线分开,仅用于一个中心项目是一种邪恶。你为什么需要这个?没有冒犯的意思,但如果创建和维护这个结构需要几个小时,那么就有问题了。您描述的是一个非常标准且简单的 Web 项目结构。我认为您的问题来自其他地方。
  • 是的,我明白了,但我给出的结构只是举例

标签: java spring maven jpa spring-boot


【解决方案1】:

Spring-Boot(或一般的spring)在maven模块方面与项目结构无关。

Maven 在构建时运行,以编译和打包必要的工件(jars、wars...)。 Maven 是依赖于项目结构的。

Spring 在运行时运行,一旦应用程序已经构建完成。它的建造方式无关紧要。对 Spring 来说重要的是生成的应用程序类路径的内容,在多模块项目的情况下,它绝对可以由多个工件组成。

所以是的,spring 可以在多模块项目中工作,因为它不关心项目的结构。一旦应用程序运行,它只需要类路径包含所有必需的资源。

【讨论】:

  • 很好的解释。然而,spring-boot 不仅仅是关于运行时,它更像是一个生态系统,统一了企业 java 开发的各个方面,包括构建过程。 spring-boot-starter-web 就是一个例子。
【解决方案2】:

是的..您可以将 Spring-Boot 用于多模块 maven 项目。只要您需要在任何需要的地方包含适当的依赖项。

【讨论】:

猜你喜欢
  • 2014-11-12
  • 2015-10-10
  • 2014-06-02
  • 2016-03-27
  • 1970-01-01
  • 1970-01-01
  • 2016-09-13
  • 2017-02-02
  • 1970-01-01
相关资源
最近更新 更多