精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

「告別臃腫!」SpringBoot Jar 文件瘦身全攻略,讓部署快如閃電!

開發 開發工具
Spring Boot 默認會將項目代碼與所有依賴(如 Spring Core、MyBatis、數據庫驅動等)一并打入同一個可執行 Jar 包中,形成一個“大一統”的胖 Jar。

在持續交付的時代里,Spring Boot 項目往往以 “一鍵打包、即刻部署” 的特性受到青睞。然而,隨著業務功能的擴展與依賴庫的增加,最終生成的 Jar 文件(俗稱 “胖 Jar”)常常變得龐大無比——不僅拖慢上傳與傳輸速度,還占據大量磁盤空間,對容器鏡像體積也造成直接影響。 為了讓部署“輕裝上陣”,本文將帶你系統掌握 Spring Boot Jar 文件瘦身的完整方案,通過 Maven 插件 進行結構分離與依賴外置化處理,讓部署更高效、更可控。

核心理念:讓 Jar 更輕、更快

Spring Boot 默認會將項目代碼與所有依賴(如 Spring Core、MyBatis、數據庫驅動等)一并打入同一個可執行 Jar 包中,形成一個“大一統”的胖 Jar。 而瘦身優化的本質,就是 將第三方依賴從主 Jar 拆分出來,獨立存放到 /lib 目錄中,讓主 Jar 只保留:

  • 自身業務邏輯與配置文件
  • 啟動引導類(Spring Boot Loader)

這樣一來,部署時只需上傳體積小得多的主 Jar,外部依賴無需重復傳輸。 典型的優化效果是:Jar 從 80MB 縮減至 8MB 左右,部署效率提升 10 倍以上。

項目結構與包命名規范

假設項目路徑遵循 Linux 風格結構:

/usr/local/java/
└── springboot-slim-demo/
    ├── src/
    ├── pom.xml
    └── target/
        ├── demo-service.jar
        └── lib/
            ├── spring-core-5.2.5.RELEASE.jar
            ├── mybatis-3.5.4.jar
            └── ...

項目包名統一規范為:

com.icoderoad.springboot.slim

實戰配置:基于 Maven 插件實現瘦身

以下是優化版的 pom.xml 關鍵片段。 通過兩個 Maven 插件配合使用,實現 Jar 文件結構的徹底瘦身:

<build>
    <plugins>


        <!-- 插件1:拷貝依賴到獨立 lib 目錄 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <!-- 綁定到 package 階段 -->
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <!-- 輸出目錄 -->
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        <!-- 包含所有直接與間接依賴 -->
                        <excludeTransitive>false</excludeTransitive>
                        <!-- 保留版本號便于調試 -->
                        <stripVersion>false</stripVersion>
                        <!-- 減少日志輸出 -->
                        <silent>true</silent>
                        <!-- 可選:排除項目內部依賴 -->
                        <!-- <excludeGroupIds>com.icoderoad</excludeGroupIds> -->
                    </configuration>
                </execution>
            </executions>
        </plugin>


        <!-- 插件2:生成瘦身后的 Spring Boot 主 Jar -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.2.6.RELEASE</version>
            <configuration>
                <!-- 建議開啟 fork 模式支持 devtools -->
                <fork>true</fork>
                <!-- 支持 systemScope 依賴 -->
                <includeSystemScope>true</includeSystemScope>


                <!-- 核心:僅保留 Loader 啟動器 -->
                <includes>
                    <include>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-loader</artifactId>
                    </include>
                    <!-- 可選:保留自定義內部依賴 -->
                    <!--
                    <include>
                        <groupId>com.icoderoad</groupId>
                    </include>
                    -->
                </includes>


                <!-- 使用 ZIP 格式,支持外部 lib 加載 -->
                <layout>ZIP</layout>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>


    <!-- 輸出主 Jar 文件名 -->
    <finalName>${project.artifactId}</finalName>
</build>

插件配置詳解

maven-dependency-plugin

該插件在執行 mvn package 時自動運行,將所有依賴復制到 target/lib 目錄。 主要參數說明:

參數

說明

<phase>package</phase>

綁定打包階段自動執行

<outputDirectory>

指定依賴輸出路徑(默認 target/lib)

<excludeTransitive>false</excludeTransitive>

包含傳遞依賴,確保完整性

<stripVersion>false</stripVersion>

保留版本號,方便排查依賴沖突

spring-boot-maven-plugin

此插件是 Spring Boot 的核心打包工具,通過 <includes> 與 <layout> 控制打包邏輯。

  • spring-boot-loader 必須保留 它是啟動核心類,負責從外部 lib 目錄加載依賴。
  • layout=ZIP 選擇 ZIP 格式意味著啟用 PropertiesLauncher 啟動器,可動態指定依賴路徑。
  • fork=true 保證開發階段熱部署生效。

瘦身效果驗證

執行以下命令進行打包:

mvn clean package

生成結果如下:

target/
├── demo-service.jar   # 主 Jar(僅幾 MB)
└── lib/               # 外部依賴(幾十 MB)

對比優化前后:

類型

優化前

優化后

減少比例

主 Jar

85 MB

8 MB

約 90%

總部署包

85 MB

48 MB(一次性)

-

后續更新只需替換主 Jar,依賴部分保持不變,CI/CD 發布時間可從數分鐘降至數秒。

部署方式

將打包結果上傳至服務器目錄 /opt/app/

/opt/app/
├── demo-service.jar
└── lib/
    ├── spring-core-5.2.5.RELEASE.jar
    ├── mybatis-3.5.4.jar
    └── ...

啟動命令如下:

java -Dloader.path=./lib -jar demo-service.jar

后臺運行示例:

nohup java -Dloader.path=./lib -jar demo-service.jar > app.log 2>&1 &

參數說明:

  • -Dloader.path=./lib:指定外部依賴路徑
  • -jar demo-service.jar:啟動主 Jar 文件

常見問題與優化建議

問題

原因

解決方案

啟動時報 ClassNotFoundException

未正確指定 -Dloader.path 或漏打包 spring-boot-loader

檢查路徑及 pom.xml includes

拷貝依賴不完整

<excludeTransitive> 設置為 true

修改為 false 并重新打包

devtools 熱部署失效

未開啟 fork 模式

設置 <fork>true</fork>

進階技巧:本地自定義依賴

若項目依賴了非 Maven 管理的 Jar 文件,可手動引入:

<dependency>
    <groupId>com.custom</groupId>
    <artifactId>custom-sdk</artifactId>
    <version>1.0.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/custom-sdk-1.0.0.jar</systemPath>
</dependency>

并確保 spring-boot-maven-plugin 中啟用了:

<includeSystemScope>true</includeSystemScope>

結語:讓每次部署都更輕盈

Spring Boot 的 Jar 瘦身方案,通過 “依賴分離 + 外部加載” 的設計理念,讓項目從臃腫走向精簡。 核心要點:

  1. 使用 maven-dependency-plugin 將依賴統一抽離至 /lib
  2. 通過 spring-boot-maven-plugin 僅保留啟動器并采用 ZIP 格式打包;
  3. 啟動時用 -Dloader.path 指定外部依賴路徑。

該方案不僅能讓部署文件體積驟減,還能加快 CI/CD 構建效率,非常適合微服務架構與容器化環境。 未來,你的每一次發布,都能像“閃電”一樣迅捷!

責任編輯:武曉燕 來源: 路條編程
相關推薦

2024-08-19 08:54:02

2024-01-26 06:15:44

PythonCPython技巧

2025-05-12 08:20:13

2019-09-09 16:30:42

Redis架構數據庫

2009-08-18 09:21:54

Windows 7效率提高系統優化

2025-08-13 09:12:00

2025-07-14 07:07:22

Spring多場景抽獎

2010-03-03 13:51:54

2025-07-22 07:43:26

2010-04-23 14:04:23

Oracle日期操作

2013-04-15 10:48:16

Xcode ARC詳解iOS ARC使用

2013-06-08 11:13:00

Android開發XML解析

2024-05-07 09:01:21

Queue 模塊Python線程安全隊列

2017-08-14 10:52:17

小米MIUIMIUI9

2023-08-11 07:20:04

開源工具項目

2011-01-11 14:30:29

企業內網開發環境

2009-02-20 11:43:22

UNIXfish全攻略

2025-04-08 08:10:00

C#代碼編程

2009-12-14 14:32:38

動態路由配置
點贊
收藏

51CTO技術棧公眾號

欧美久久久久中文字幕| 久久久蜜桃精品| 午夜精品一区二区三区在线视频| 波多野结衣 在线| 成人啊v在线| 最新不卡av在线| 精品免费视频123区| 中文区中文字幕免费看| 国产一在线精品一区在线观看| 亚洲欧美在线磁力| 中文字幕乱妇无码av在线| 日本不卡一二三| 亚洲精品乱码久久久久| 日本高清不卡一区二区三| 99国产揄拍国产精品| 国产日韩欧美在线播放不卡| 日韩三级成人av网| 中文字幕av网址| 日韩精品一区国产| 欧美性生活一区| 久久久亚洲精品无码| 免费av不卡| 久久精品视频一区二区| 超碰97在线人人| 在线观看视频二区| 香蕉av777xxx色综合一区| 欧美—级a级欧美特级ar全黄| 貂蝉被到爽流白浆在线观看| 亚洲丁香日韩| 亚洲精品国产精品国自产在线| 午夜影院免费观看视频| 91成人在线| 色婷婷国产精品久久包臀| 国产精品久久久久7777| av免费在线网站| 亚洲国产成人私人影院tom| 蜜桃麻豆www久久国产精品| 丰满熟妇乱又伦| 国产一区二区女| 国产精品久久久久久久久免费看 | 日本欧美精品在线| 国产乱码久久久久久| 亚洲人体av| 久久黄色av网站| 啪啪一区二区三区| 日韩成人三级| 中文字幕亚洲字幕| 在线免费观看视频| 日本精品三区| 中文字幕精品网| 无码人中文字幕| 全球成人免费直播| 在线观看久久久久久| 一级黄色片网址| 人人狠狠综合久久亚洲婷婷| 亚洲男人的天堂在线播放| 免费无码一区二区三区| 欧美性生活一级片| 亚洲欧美www| 欧美另类z0zx974| 成人av资源电影网站| 中文综合在线观看| 亚洲欧美一区二区三区四区五区| 亚洲精品国产首次亮相| 欧美精品中文字幕一区| 免费在线观看黄视频| 亚洲免费黄色| 日韩av免费在线| 中文字幕永久在线视频| 国产一区二区三区免费观看| 3d动漫精品啪啪一区二区三区免费| 国产av无码专区亚洲av| 成人激情小说网站| 久久人人九九| 日本亚洲精品| 一区二区三区精品视频| 日韩a∨精品日韩在线观看| 绿色成人影院| 欧美日韩在线观看一区二区 | 欧美精品在线免费播放| 国产精品成人av久久| 久久精品免费| 成人黄色短视频在线观看| wwwav在线播放| 91在线视频官网| 五月天久久综合网| 性国产高清在线观看| 天天色 色综合| 黄色手机在线视频| caoporn成人| 亚洲人成在线一二| 在线免费观看亚洲视频| 国产精品久久久久久模特| 国产女同一区二区| 欧美天堂在线视频| 中文av一区二区| 欧美一级欧美一级| 国产精品黄色片| 精品福利av导航| 一级在线观看视频| 在线精品一区二区| 国产在线视频欧美| 性感美女视频一二三| 综合色天天鬼久久鬼色| 四虎永久在线精品无码视频| 日韩影片在线观看| 在线日韩欧美视频| a v视频在线观看| 国产一区二区三区免费观看| 日本成人三级电影网站| 国产乱码午夜在线视频| 538在线一区二区精品国产| av直播在线观看| 午夜精品亚洲| 成人日韩在线电影| 韩国中文免费在线视频| 亚洲二区在线视频| 在线观看av免费观看| 精品一区二区三区在线| 欧美亚洲在线观看| 亚洲精品一区二区三区区别| 国产精品狼人久久影院观看方式| 国产亚洲综合视频| 成午夜精品一区二区三区软件| 另类视频在线观看| 国产精品久久久久久在线| 久久尤物电影视频在线观看| 欧美亚洲黄色片| 我要色综合中文字幕| 色青青草原桃花久久综合| 91在线视频免费播放| 91热门视频在线观看| 国产精品国产亚洲精品看不卡| 久久免费精品| 久久躁日日躁aaaaxxxx| 一级成人免费视频| 中文字幕成人网| 别急慢慢来1978如如2| 尤物tv在线精品| 欧洲精品在线视频| 日本国产在线| 色综合久久综合中文综合网| 中文字幕5566| 国产精品一级| 久久久一本精品99久久精品| 性欧美18~19sex高清播放| 亚洲成人三级在线| av大片免费在线观看| 暴力调教一区二区三区| 人人干视频在线| 日韩精品导航| 日本精品久久久| 精品美女视频在线观看免费软件 | 亚洲欧美自拍偷拍色图| wwwwwxxxx日本| 天天影视欧美综合在线观看| 成人免费淫片aa视频免费| 黄视频网站在线看| 日韩一区二区三区免费看 | 午夜av在线免费观看| 欧美一级午夜免费电影| 久久久久久久久久久久久久久久久| 国v精品久久久网| 欧美一级欧美一级| 亚洲涩涩av| 国产精品一区二区久久国产| 久久99精品久久| 欧美va亚洲va| 国产小视频在线免费观看| 久久久精品日韩欧美| 亚洲激情在线观看视频| 婷婷成人基地| 精品欧美一区二区久久久伦| 韩国精品主播一区二区在线观看| 色噜噜亚洲精品中文字幕| 国产黄色片免费| 精品成人在线视频| 1024手机在线观看你懂的| 国产伦精一区二区三区| 成人午夜免费在线| 成人女性视频| 高清一区二区三区视频| 希岛爱理一区二区三区av高清| 深夜福利国产精品| 俄罗斯嫩小性bbwbbw| 色8久久精品久久久久久蜜| 九九这里只有精品视频| zzijzzij亚洲日本少妇熟睡| 亚洲不卡视频在线| 国产精品vip| 日韩欧美精品一区二区三区经典 | 裸模一区二区三区免费| 少妇精品视频在线观看| 97不卡在线视频| 免费高清完整在线观看| 日韩高清欧美高清| 国产精品探花视频| 欧美性生活大片免费观看网址| 天天操夜夜操av| 91麻豆精东视频| 色婷婷综合在线观看| 久久三级视频| 男人天堂av片| 亚洲国产精品久久久天堂| 蜜桃av噜噜一区二区三| 日韩激情欧美| 国产精品免费一区豆花| 在线天堂资源| 久久久久久久久久国产精品| 国产精品视频一区二区久久| 精品成人在线观看| 国产精品丝袜黑色高跟鞋| 91国内精品野花午夜精品| 日本在线观看视频网站| 亚洲色图20p| 成年人看的免费视频| 99久久精品国产一区二区三区| 手机在线观看日韩av| 蜜桃av一区二区三区电影| 国产淫片免费看| 欧美另类亚洲| 欧美a级黄色大片| 久久精品国产www456c0m| 欧美在线视频二区| 亚洲v天堂v手机在线| 国产精品9999久久久久仙踪林| 人人精品久久| 国产精品久久久久久搜索 | 亚洲黄色影片| 成人在线观看毛片| 91精品天堂福利在线观看| 色姑娘综合网| 精品国产乱码| 日韩福利一区二区三区| 国产精品午夜一区二区三区| 欧美一进一出视频| 曰本一区二区三区视频| 精品一区二区日本| 欧美中文一区| 精品久久久久久亚洲| 久久国产精品色av免费看| 国产精品theporn88| 大型av综合网站| 国产日韩欧美精品| 精品中国亚洲| 噜噜噜噜噜久久久久久91| 亚洲另类av| 婷婷五月色综合| 人人狠狠综合久久亚洲婷婷| 亚洲自拍三区| 五月久久久综合一区二区小说| 欧美一级免费在线观看| 亚洲先锋影音| 男人添女荫道口喷水视频| 1000部精品久久久久久久久| 久久精品视频16| 久久深夜福利| 国产精品区在线| 美国十次了思思久久精品导航| 亚欧激情乱码久久久久久久久| 老司机精品视频一区二区三区| 中文字幕一区二区在线观看视频| 国产美女精品一区二区三区| 国产xxxxhd| av电影在线观看一区| 中文字幕人妻一区二区| 国产精品久久久久久户外露出| 男女做暖暖视频| 午夜精品视频一区| av片免费观看| 欧美一区二区三区在线看| 黄色av一区二区三区| 亚洲欧美日韩久久久久久 | 外国成人在线视频| 午夜一区二区三区| 综合久久十次| 中国丰满人妻videoshd| 麻豆freexxxx性91精品| 蜜臀aⅴ国产精品久久久国产老师| 99久久婷婷国产| 女人裸体性做爰全过| 亚洲国产成人porn| 青娱乐在线免费视频| 91精品国产日韩91久久久久久| 色婷婷在线视频| 自拍偷拍亚洲精品| 国产福利电影在线播放| 国产日本欧美视频| 卡一精品卡二卡三网站乱码| 亚洲国产精品视频一区| 伊人成年综合电影网| www.激情小说.com| 成人高清视频在线| 一本色道久久88| 精品久久久在线观看| 国产精品久久久久久久免费| 亚洲精品在线看| caoporn97在线视频| 日本一区二区在线播放| 日本精品一区二区三区在线观看视频| 欧美动漫一区二区| 欧美黄色一区二区| 日本人视频jizz页码69| 91在线丨porny丨国产| 免费三片在线播放| 欧美精品在线一区二区| 青青视频在线观| 欧美激情精品久久久| 欧美大陆国产| 日韩高清国产精品| 国产欧美91| 中国男女全黄大片| 1区2区3区国产精品| 中国老头性行为xxxx| 精品亚洲一区二区三区在线观看 | 国产69视频在线观看| 国产精品第四页| 特级西西444www高清大视频| 日韩精品免费一线在线观看| 日本无删减在线| 92国产精品久久久久首页 | 91成人在线免费| 亚洲视频axxx| 松下纱荣子在线观看| 国产a一区二区| 欧美精品一卡| 无码人妻一区二区三区在线视频| 国产三级精品视频| 日韩在线 中文字幕| 亚洲护士老师的毛茸茸最新章节| 色婷婷在线播放| 超碰97国产在线| 欧美激情五月| xxxxwww一片| 亚洲夂夂婷婷色拍ww47| 国产成人精品a视频| 欧美成人精品一区二区三区| 精品99re| 毛片在线视频观看| 国产福利91精品一区| 色在线观看视频| 欧美刺激午夜性久久久久久久| 影音先锋中文在线视频| 91九色在线免费视频| 午夜天堂精品久久久久| www日本在线观看| 亚洲国产成人av| 天天射天天色天天干| 日本欧美一级片| 日韩在线不卡| 五月天开心婷婷| 一区二区免费看| 欧美一区二区黄片| 2019中文字幕在线| 精品黄色一级片| 亚洲色图偷拍视频| 一区二区三区四区国产精品| 亚洲精品字幕在线观看| 性欧美办公室18xxxxhd| 少妇精品导航| 日本在线观看免费视频| 1024国产精品| 日本精品999| 国产91在线高潮白浆在线观看| 欧美亚洲高清| 亚洲av无码久久精品色欲| 亚洲观看高清完整版在线观看 | 久久久精品2019中文字幕之3| 日本中文字幕在线观看视频| www.xxxx欧美| 凹凸av导航大全精品| 久久久久狠狠高潮亚洲精品| 国产精品欧美综合在线| www.天堂在线| 欧美最猛性xxxx| 99久久99热这里只有精品| 韩国av中国字幕| 色中色一区二区| 黄色网址在线免费观看| 国产视频99| 麻豆国产欧美日韩综合精品二区 | 色婷婷狠狠综合| 成人在线免费看黄| 久久久久久九九| 激情丁香综合五月| 日韩欧美亚洲视频| 少妇激情综合网| 精品久久ai| 亚洲涩涩在线观看| 精品高清美女精品国产区| 天天综合视频在线观看| 国内精品久久国产| 久久机这里只有精品| 国产成人无码精品| 久久亚洲成人精品| 国产探花在线精品一区二区| 中国老熟女重囗味hdxx| 欧美性猛交一区二区三区精品| 国产在线拍揄自揄拍视频| 亚洲日本一区二区三区在线不卡|