我正在使用spring-boot
创建一个项目。
Spring引导maven结构要求它具有定义为spring-boot-starter-parent
的父级。
我有一种情况,我希望将我的应用程序打包为一个多模块结构,我在其中定义包含与地理相关的功能的模块。
像这样的东西,每个模块都有一个罐子包装,
parent Pom
|
|-----------Core module
|
|-----------India Module
|
|----------Africa Module
|
|--------- Europe Module
现在,我可以使用maven配置文件打包我的应用程序,其中在印度配置文件中仅包含核心模块和印度模块并打包。
如何使用我的父级已经定义为spring-boot-starter-parent
的spring boot来实现它?
答案 0 :(得分:10)
有两种方法可以做到,
在父pom中使用dependencyManagement,如
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<type>pom</type>
<version>1.2.3.RELEASE</version>
<scope>import</scope>
</dependency>
</dependencies>
这就是我这样做的方式。根POM(带有pom包装)有弹簧引导作为父
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.3.RELEASE</version>
</parent>
模块poms将root pom作为父级。 POM添加的核心模块依赖于其他模块。 它还有'spring-boot-maven-plugin'来制作胖罐。
使用java -jar Core_xxx.release.jar
启动spring上下文当然,如果您有组织明智的父POM,那么第一个选项会更合适。
答案 1 :(得分:1)
现在您可以使用官方Spring guidline解决该问题并创建Spring Boot多模块项目。只需按照https://spring.io/guides/gs/multi-module/
指示操作即可答案 2 :(得分:0)
我不太了解Spring Boot。
但是通常使用Spring可以通过常见的配置包来完成。 因此,在您的主应用/配置中,您可以执行以下操作:
@Configuration
@ComponentScan("com.example.common.bootstrap")
然后你可以将模块特定的配置放在每个模块的bootstrap包中。 所以只需创建一个com.example.common.boostrap.AsiaModule和com.example.common.bootstrap.EuropeModule作为Spring配置,你就是好的。