目录:
1.前言
2.瘦身前的jar包
3.解决方案
一、前言
SpringBoot项目部署起来非常的简单。 一条命令mvn clean install 就可以将项目打包。如果服务区器在内网中,上传到服务器上速度还是可以。 但是如果部署在外网中或者专用的网络中,部署起来确实非常头疼的事情。 最近在给公司中做一些项目,就遇到了这个比较头疼的事情,编译后的一个jar包文件为68M ,需要手动上传到专用的网络服务器中,每秒几十KB的速度,看的都想骂娘。
如果对线上的项目做一些微调,上传就变成了一个非常痛苦的事情。
二、瘦身前的jar包
Springboot 项目编译出来的Jar包中, 占用磁盘比较的,是引入外部的一些依赖库(Jar包)eg. 通过编译后的jar 进入项目工程的根目录,执行 mvn clean install 命令,得到的jar包。用压缩软件打开后目录结构如下:
其中BOOT-INF/lib下的文件就占用了67.87MB 占用整个jar包的比例为98%。每次都在重复都在重复的上传这些重复的jar包,决定给项目瘦身。
三、解决方案
步骤1:瘦身之前,正常编译jar包文件
pom文件如下:
进入更目录中。 执行命令: mvn clean install
解压出lib文件,将BOOT-INF/lib文件copy出来到目标文件夹(需要运行的jar包的目录中)
步骤二,修改pom文件配置,编译出不带lib文件夹的jar包
修改后的pom.xml 文件如下:
此时,编译出来的jar包大小为882K.
步骤三、将步骤一lib文件夹和步骤二中编译出来的文件放到同一目录中
进入到目标文件家中,执行启动命令: java -Dloader.path=./lib -jar mci_server.jar --spring.profiles.active=local
项目启动成功
瘦身成功 !!!
备注:
以前进入jar目录中 执行: java -jar mci_server.jar --spring.profiles.active=local 即可
瘦身后执行的命令有相应的变化。需要将指定lib目录
java -Dloader.path=./lib -jar mci_server.jar --spring.profiles.active=local
通常,一个项目的架构确定后。引入的jar包基本不会变,改变的大部分是业务逻辑。以后编译业务逻辑代码即可。
每次上传不到1M的jar 包是否增加了工作效率。