SpringBoot多模块项目打包及部署
springboot多模块项目使用maven打包部署时需要从子模块到父模块依次进行打包,并且每个pom.xml文件的配置都要正确
以本人项目为例
项目结构截图
概述: 整体项目中,包含common和service两个子模块,其中common模块又包括service_base和service_utils两个子子模块。service模块作为整体项目的启动,即web模块。
1 配置pom文件
对于service_base和service_utils两个子子模块,均配置为jar包,其中service_utils中引用service_base。两个子子模块都不需要配置build
对于common子模块,配置为pom包,同样也不需要配置build。
service子模块作为web启动模块,需要配置build,并且作为jar包,其中引用了service_utils模块
在build配置中,指定启动类的入口,引入springboot打包插件 和配置 因为最后我们要执行的是它
因为我使用mybatisPlus时打包后target没有mapper的xml文件,也没有appication,properties文件,所以指定了文件,保证文件可以被扫描到。
最后最重要的父项目dbexp,部署作为pom文件,build中配置apache的打包插件。
2 按照顺序打包
全部配置完成后,maven中是这样的:
按照引用顺序:service调用service_utils,service_utils调用service_base,所以应该先打包service_base,然后打包service_utils,最后打包service。
打包成功后控制台输出如图:
3 部署执行jar包
打开最后service打包生成的jar包的文件夹,按住shift同时点击鼠标右键,点击“在此处打开powershell窗口”,输入java -jar {文件名},即可运行jar包。
至此,springboot多模块项目打包及部署成功。