我在沒使用maven插件壓縮打包的時候,一個應用打包基本上100M以上,以我個人博客中的一個管理微服務模塊來說,打包成功后生成的jar就123M左右。為此我搜索了下,研究如何減少jar包體積大小的方法,不料真還找到了。
步驟總結如下:
第一步添加插件
maven對應的微服務模塊中pom.xml增加如下內容:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.springcloud.blog.admin.BlogAdminApplication</mainClass>
<layout>ZIP</layout>
<includes>
<include>
<!-- 排除所有Jar -->
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
第二步執行打包命令
mvn clean install -Dmaven.test.skip=true
第三步運行jar包
java -Dloader.path="lib/" -jar blog-admin-1.0-SNAPSHOT.jar
blog-admin-1.0-SNAPSHOT.jar是我自己的應用,改成你們對應的即可。
注意事項:
在此以前必須要把lib抽取出來,lib這個文件夾主要放jar包的(微服務框架所涉及的jar文件)。
那么如何打出這個lib來的,只需去除第一步的插件即可(也就是常規打包方式),常規打包抽取lib后,再通過減少jar包體積的步驟來進行打包。
通常打出的jar,以我blog-admin這個應用為例,原本打出來的是123M(沒有使用插件),使用插件后打包是不到2M。
本文參考資料如下:
SpringBoot使用Maven打包時減小jar包的大小方法
