背景需求:
springboot项目开发完毕后,构建成jar包可直接运行(nohup java -jar xxx.jar &),无需再部署至tomcat,使用起来很方便。 但是实际在公司应用中需要做打包配置,把项目依赖的配置和第三方jar抽取出来,做成如下所示的结构;
目的在于:
1)实际生产环境的配置和本地配置肯定有区别。这样在实际上线时只需要单独修改配置文件后在重启即可;
2)如果某个依赖jar有修改,则只需要替换依赖的jar并重启即可,不需要重新全部再次打包上传服务器;
3)在传统jar包中,所有文件都打包到一个jar包中,jar非常臃肿,在进行服务更新部署时非常不便,单次上传文件较大;
4)若传输不稳定时导致传输失败或者使用云服务器流量有限制时。如果过实行文件分离、在依赖不改变的情况下,仅仅上传更新后的编译文件是非常方便和经济的。
插件介绍
- maven-jar-plugin 这个插件式专门用来打包用的,可以配置需要打包进去的文件,程序的入口类等。
- maven-clean-plugin 这个插件式专门用来清除历史打包文件。
- maven-resources-plugin 这个插件是用来拷贝资源文件的。
- maven-maven-dependency-plugin 这个插件是用来拷贝依赖库的。
- maven-assembly-plugin 可以说包含了以上插件的功能,但是可以做到更精细的控制。(可以不用)
- spring-boot-maven-plugin springboot 项目最重要的插件,整个项目的打包处理过程还是要依附于它。
POM文件配置示例模板
(具体作用参考注释部分)
此处仅显示build标签中的内容,在属性部分,需添加如下内容:
注意:修改<mainClass>com.test.XXXApplication</mainClass> 为你自己的启动类!
</properties>
<build.path>dist</build.path>
</properties>
&l