SpringBoot多模块项目部署
现在的项目开发大多数采取的都是微服务的方法。因此,SpringBoot项目多模块部署是个难题。
下面提供其中的一种部署的方法。比较方便的能够部署在云服务中。
1.确认服务架构
下图是我的项目的一个服务架构
在这个项目里,包含了一个父工程,众多子模块和一个工具模块。其中子模块里每一个都有启动类。而工具模块没有。因此这三者的pom文件不一样。我们根据需要修改,然后用idea的打包工具一键打包就好了。
2.pom文件修改
首先,你需要确定你创建子模块是通过在父工程右键新建而建立的。
并且在创建的时候选择了正确的父工程。
这样可以帮我们剩下修改pom文件的很多精力。我们只需要修改几个关键的地方即可。
第一个:父工程pom文件
我们首先确定是否有子模块依赖在里面,有的话则创建没有问题。
之后我们只需要在合适的位置加上
<packaging>pom</packaging>
这句配置即可,确保父工程是用pom方式打包的。
修改子模块
之后,我们去修改每一个有启动类的子模块。加入下面这段配置:
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<plugins>
<plugin>
<!--该插件主要用途:构建可执行的JAR -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<!--设置自己目录下的配置文件-->
<resource>
<!--下方resources的文件夹名字要和自己项目的文件夹名确认一致才行 很多人就是忽略了名字不一致 -->
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
</build>
这段配置提供了一个打包工具,并且能够把项目中的配置文件读取进来。不然的话可能会出现就算是打包了,也无法读取配置文件的情况。
当然,不要忘了在文件开头加上下面这段配置,告知此模块是要打包成jar包。
<packaging>jar</packaging>
打包
在每一个模块完成之后,打开idea的maven工具,一般在窗口最右侧
找到我们的父工程,也就是标识了root的。打开lifecycle。先选择clean,再点击package。这样就完成了打包了。
完成后在每个子模块的target文件夹都,都有一个jar包。直接运行就可以啦。
,也就是标识了root的。打开lifecycle。先选择clean,再点击package。这样就完成了打包了。
完成后在每个子模块的target文件夹都,都有一个jar包。直接运行就可以啦。
版权声明:本文为weixin_43314519原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。