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文件配置的主要内容,如果未能解决你的问题,请参考以下文章