Spring Boot jar 瘦身攻略
Spring Boot jar 瘦身攻略
问题
在生产环境中用Spirngboot加maven 打成jar包后 nohup java -jar xxxx.jar& 运行 非常方便
但是因为线上会经过跳板机,IO慢,jar包后期会很大。导致发布每次都要等好久。
一、lib分离
正常打包出来是这样的。
解压jar包,会有这几个。
进入下面目录,已经分离了
二、maven引入插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
<attach>false</attach>
</configuration>
</plugin>
</plugins>
</build>
再打包发现已经变成这么小了。
三、启动
然后把lib和jar放在同一个目录下
指定lib启动
java -jar -Dloader.path=lib yjcz-web-0.0.1-SNAPSHOT.jar
后台启动,并指定lib,指定生产环境
nohup java -jar -Dloader.path=libyjcz-web-0.0.1-SNAPSHOT.jarr --spring.profiles.active=prod > /dev/null 2>&1 &
重点!
如果后续发布,依赖的模块有比如common有改动,务必把common放入lib中,再发布!
如果pom.xml文件有改动,请重新打包,把lib更新
总结:
1.分离lib和jar
2.指定lib启动jar
3.如果依赖有变化,请更新到lib