Spring Boot多modules的pom文件配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot多modules的pom文件配置相关的知识,希望对你有一定的参考价值。

参考技术A 1、删除src目录
2、修改pom文件,使用spring-boot-dependencies依赖对springboot的依赖包进行统一管理。

1、创建module之后,父工程pom自动添加<modules>关联
2、子工程pom.xml添加以下内容

父工程的pom就像一个容器,里边放了各种的依赖,哪个子模块需要就在其pom里引用;

SpringBoot多模块项目(Multi-Modules)

参考技术A

经常看到GitHub上的一些官方demo,为了展示很多功能,项目是由多模块的形式组织的,基于maven构建的形式为根文件夹下有个pom.xml,每个功能文件夹下又有pom.xml。
刚开始傻傻不会用的时候,直接引入子文件夹下的pom.xml为maven项目。然后有需要看另一个功能又打开了一个子模块,因为IDE用的是idea,变成了多窗口。后来发现直接打开父模块接可以了,各个子模块可以在同一个窗口下切换和启动。

以下最简单的建一个多模块项目,为了学习微服务,将建两个springboot web的子模块,服务提供者provider和消费者consumer。
两个服务在同个idea窗口中开发和启动,测试调用consumer的服务,consumer内部会调用provider。

new Module - > spring initializr,分别新增artifactId为provider和consumer,放在springbootmodules目录之下:

因为两个SpringBoot项目都默认是8080端口,为了能同时启动,调整consumer的端口为8081,在consumer的application.properties中添加server.port=8081

在provider和consumer分别新增两个controller: ProviderController和ConsumerController,返回最简单的字符串。
ProviderController.java:

ConsumerController中为了调用provider( http://localhost:8081/provider ),使用了spring的RestTemplate做http客户端,多配置了RestTemplate的Bean

父pom.xml现在只有管理两个子模块的作用,可以抽取子模块统一的配置信息和依赖版本控制放父模块中管理。

父pom.xml:

子模块pom.xml,设置parent为springbootmodules:

使用mvn clean package命令,或点击idea maven窗口功能,把两个子模块打成jar包:

使用java -jar命令启动两个服务:

两个服务都正常启动,并且服务消费者consumer调用服务提供者provider正常:

以上是关于Spring Boot多modules的pom文件配置的主要内容,如果未能解决你的问题,请参考以下文章

在多模块 Spring Boot 项目中使用属性

Spring-Boot构建多模块项目

Maven 搭建spring boot多模块项目

spring boot多模块聚合工程

SpringBoot多模块项目(Multi-Modules)

Maven 搭建spring boot多模块项目(附源码)