我在沒使用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包的大小方法