當前位置: 妍妍網 > 碼農

把 Spring Boot 計畫從 18.18M 瘦身到 0.18M,部署起來真省事!

2024-06-04碼農

來源:csdn.net/weixin_39872123/article/details/111036706

# 前言

SpringBoot部署起來雖然簡單,如果伺服器部署在公司內網,速度還行,但是如果部署在公網(阿裏雲等雲伺服器上),部署起來實在頭疼:編譯出來的 Jar 包很大,如果工程引入了許多開源元件(SpringCloud等),那就更大了。

這個時候如果想要對線上執行工程有一些微調,則非常痛苦

# 瘦身前的Jar包

Tomcat在部署Web工程的時候,可以進行增量更新,SpringBoot也是可以的~

SpringBoot編譯出來的Jar包中,磁盤占用大的,是一些外部依賴庫(jar包),

例如:

進入計畫工程根目錄,執行 mvn clean install 命令,得到的Jar包,用壓縮軟體開啟,目錄結構如下:

# 解決方法
步驟1: 正常編譯JAR包,解壓出lib資料夾

POM檔如下:

進入計畫根目錄,執行命令:mvn clean install

將編譯後的Jar包解壓,拷貝 BOOT-INF 目錄下的lib資料夾 到目標路徑;

步驟2: 修改pom.xml配置,編譯出不帶 lib 資料夾的Jar包

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><main class>com.johnnian.App</main class><layout>ZIP</layout><includes><include><groupId>nothing</groupId><artifactId>nothing</artifactId></include></includes></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugins><build>

配置完成後,再次執行編譯:mvn clean install

生成的 Jar 包體積明顯變小,如下所示, 外部的 jar 包已經不會被引入了:

步驟3: 執行編譯後的Jar包

將步驟1 解壓出來的lib資料夾、步驟2編譯的jar包放在同一個目錄, 執行下面命令:

或者在maven中輸入一下命令匯出需要用到的jar包

備註:

將/path/to/改成實際的路徑。-Dloader.path=lib資料夾路徑 最終目錄檔結構是:

說明

1、通常,一個工程計畫架構確定後,引入的jar包基本上不會變,改變的大部份是業務邏輯;

2、後面如果需要變更業務邏輯,只需要輕量地編譯工程,大大提高計畫部署的效率。

熱門推薦