当前位置: 首页 > 科技观察

SpringBoot项目瘦身指南,瘦得不可思议!

时间:2023-03-13 04:10:02 科技观察

分类:1.前言2.减肥前的jar包3.解决方案1.前言SpringBoot虽然部署简单,但是如果服务器部署在公司内网,速度还可以,但是如果部署在公网,很容易部署真是头疼:编译出来的Jar包很大。如果项目引入了很多开源组件(SpringCloud等),那就更大了。这个时候如果要对线上运营的项目做一些微调,会很痛苦。2.瘦身前的Jar包。Tomcat在部署web项目时可以进行增量更新,SpringBoot也是可以的~在SpringBoot编译出来的Jar包中,磁盘占用比较大,还有一些外部依赖库(jar包),比如:进入根目录项目,执行mvncleaninstall命令,用压缩软件打开得到的Jar包。目录结构如下:整个Jar包18.18MB,但BOOT-INF/lib占了将近18MB:三、解决步骤一:正常编译JAR包,解压lib文件夹下的POM文件如下:org.springframework.bootspring-boot-maven-plugincom.johnnian.AppZIP重新打包进入项目根目录,执行命令:mvncleaninstall解压编译好的Jar包,将BOOT-INF目录下的lib文件夹复制到Target路径下;第二步:修改pom.xml配置,编译出没有lib文件夹的Jar包org.springframework.bootspring-boot-maven-plugin<配置>com.johnnian.AppZIPnothingnothingrepackage配置完成之后再次编译:mvncleaninstall生成的Jar包体积明显变小,如下图,不再导入外部jar包:Step3:运行编译好的Jar包解压步骤中的lib文件1文件夹,将步骤2编译好的jar包放在同一目录下,运行如下命令:java-Dloader.path=/path/to/lib-jar/path/to/springboot-jsp-0.0.1-SNAPSHOT.jar或者在maven中输入命令导出jar包mvndependency:copy-dependencies-DoutputDirectory=F:\\ideaWorkPlace\\AnalysisEngine\\lib-DincludeScope=runtime注意:把/path/to/改成实际路径-Dloader.path=lib文件夹路径最终目录文件结构为:├──lib#lib文件夹└──springboot-jsp-0.0.1-SNAPSHOT.jar说明:1.通常一个项目结构确定后,导入的jar包基本不会变化,变化的大部分是业务逻辑;2、如果后期需要更改业务逻辑,只需要轻编译项目,大大提高了项目部署的效率。

猜你喜欢