【转】SpringBoot多模块打包瘦身分离

背景

首先项目是个多层级的多模块springBoot项目,每次打出来的jar包都在90M,其中包含核心代码以及所有依赖的jar包,上传到服务器速度比较慢。

由于核心代码(controller、service、dao、model)会经常改动进行发布上线,而依赖的jar包(pom文件的依赖引用)并不是经常更新,所以希望进行分离打包,改动代码只需要上线发布核心jar包(几十KB吧),提高效率。

打包方法

【转】SpringBoot多模块打包瘦身分离

步骤1:清理之前的jar包

步骤2:进行重新打包
不分离打包

1、pom文件配置

TC_NLP_Platform

                    org.springframework.boot
                    spring-boot-maven-plugin

2、 箭头指向的就是完整的可运行的jar包,根据项目的不同大小不同,整体来说还是很大的。

【转】SpringBoot多模块打包瘦身分离

分离打包

1、pom文件配置,由于项目是多模块的(分层的),所以打包的时候希望TCSP_Management(controller层)、TCSP_DAO、TCSP_Model、TCSP_Service可以合在一起打成一个核心jar包,其他的依赖打包到另外一个地方,达到核心代码与依赖分离打包的目的。
部分配置解释

a、

将不经常改动的依赖包,打包到lib文件夹下

b、

目的是排除TCSP_Management(controller层)、TCSP_DAO、TCSP_Model、TCSP_Service,核心的业务包,不打包到lib文件夹下面

TC_NLP_Platform

                    org.springframework.boot
                    spring-boot-maven-plugin

                        true
                        ZIP

                                TCSP_Model
                                com.toycloud.tcspeech

                                TCSP_DAO
                                com.toycloud.tcspeech

                                TCSP_Service
                                com.toycloud.tcspeech

                                repackage

                    org.apache.maven.plugins
                    maven-dependency-plugin

                            copy-dependencies
                            package

                                copy-dependencies

                                ${project.build.directory}/lib
                                false
                                false
                                true

                                TCSP_Model,TCSP_DAO,TCSP_Service

2、 下图中,1表示的就是所有依赖打包后所在的路径,2表示核心代码所在的路径。

核心代码解压后,包含TCSP_DAO、TCSP_Model、TCSP_Service三个核心模块的jar包

发布到服务器运行:

java -Dloader.path=./lib -Duser.timezone=Asia/Shanghai -jar TC_NLP_Platform.jar

注意:lib文件夹(依赖的jar包)必须和TC_NLP_Platform.jar(核心jar包)在同级目录

Original: https://www.cnblogs.com/zdd-java/p/15811646.html
Author: 达兔哥
Title: 【转】SpringBoot多模块打包瘦身分离

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576110/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球