背景
隨着spring boot 的流行、越來越多的來發着選擇使用spring boot 來發 web 應用、 不同於傳統的 web 應用 需要 war 包來發布應用、 spring boot 應用可以把整個項目打包成一個可執行的 jar 、同時也導致 jar 越來越龐大。 對於現在高速迭代項目、上傳如此龐大的 jar 對來發人員來說是一件極其痛苦的事情。 本章介紹如何將項目中變化的不大的 jar 提取到外部。
具體步驟:
1: 通常我們是用spring-boot-maven-plugin 進行打包、通過閱讀文檔發現可以通過配置使得該插件在打包時忽略特定的依賴,文檔在spring-boot-maven-plugin
2: 首先備份原先的依賴: 可以用使用 mvn dependency:copy-dependencies 首先將依賴導出。
3: 將一些變化不大的 jar copy 到外部文件 lib 文件夾中(和 pom 文件中配置對應 )
4: 修改 pom 文件 如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
<!--去除在生產環境中不變的依賴-->
<excludeGroupIds>
org.springframework.boot,
org.springframework,
org.springframework.data,
org.apache.tomcat.embed
</excludeGroupIds>
</configuration>
</plugin>
</plugins>
</build>
注:layout 必須是 ZIP 、 excludeGroupIds 中時忽略也是就需要打在外部的 jar 、 根據自己項目的情況進行配置
5: 項目啟動 將 項目的 jar 和 剛創建的 lib 放在同級目錄下(不是必須的)。
6: 啟動項目: java -Dloader.path="lib/" -jar xx.jar
好了到這基本就結束了、如有問題歡迎指出。