SpringBoot:FatJar减肥解决SpringBoot jar包太大的问题

SpringBoot:FatJar减肥解决SpringBoot jar包太大的问题

spring boot添加spring-boot-maven-plugin插件后, 打出来的Jar动辄几十上百兆. 这种FatJar包在传输时会相当不便

修改spring-boot-maven-plugin,抽取依赖到指定目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.gosun.EurekaServerApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>E:/lib</outputDirectory>
<excludeGroupIds>
<!-- 留存于fat jar中的jar包的groupId属性值(多个,分隔)-->
</excludeGroupIds>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

其中,maven-jar-plugin是为了解决fatjar瘦身后运行会提示*-0.0.1-SNAPSHOT.jar中没有主清单属性的问题

将上一步exclude掉的jar放到一个外置的目录中

"图片描述"

运行jar包

1
2
3
4
5
6
7
8
@ echo off

::eureka-server
start cmd /c "title eureka-server && java -Dloader.path="lib/" -jar eureka-server-0.0.1-SNAPSHOT.jar --DASPush=false --server.port=1001 > log\eureka-server.log 2>&1 &"
::config-server-native
start cmd /c "title config-server-native && java -Dloader.path="lib/" -jar config-server-native-0.0.1-SNAPSHOT.jar --DASPush=false --server.port=3001 > log\config-server-native.log 2>&1 &"

pause

java -Dloader.path=”lib/“ -jar common-service.jar执行语句中loader.path指向了外置目录,告诉springboot允许从外部加载依赖.

源码:https://github.com/qq1028951741/springbootdemo or 右上角github进去,springbootdemo项目,如果对您有帮助,麻烦点下star,谢谢


人生两苦:想要却不得,拥有却失去。 –褚禄山
珍惜当下,与君共勉~


本文标题:SpringBoot:FatJar减肥解决SpringBoot jar包太大的问题

文章作者:fufua

发布时间:2019年04月26日 - 10:43:13

最后更新:2019年04月26日 - 10:47:07

原始链接:https://qq1028951741.github.io/2019/04/26/SpringBoot:FatJar减肥解决SpringBoot jar包太大的问题/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

this is end, thank you for reading