最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項目從18.18M瘦身到0.18M的實現(xiàn)

 更新時間:2023年01月08日 11:06:22   作者:六月·飛雪  
本文主要介紹了SpringBoot項目從18.18M瘦身到0.18M的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、前言

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

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

二、瘦身前的Jar包

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

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

進入項目工程根目錄,執(zhí)行 mvn clean install 命令,得到的Jar包,用壓縮軟件打開,目錄結構如下:

整個Jar包 18.18 MB, 但是 BOOT-INF/lib 就占用了將近 18 MB: 

三、解決方法

步驟1: 正常編譯JAR包,解壓出lib文件夾

POM文件如下:

進入項目根目錄,執(zhí)行命令:mvn clean install

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

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

配置完成后,再次執(zhí)行編譯:mvn clean install

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

步驟3: 運行編譯后的Jar包

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

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

備注:

將/path/to/改成實際的路徑。 

-Dloader.path=lib文件夾路徑 

最終目錄文件結構是:

說明

1、通常,一個工程項目架構確定后,引入的jar包基本上不會變,改變的大部分是業(yè)務邏輯;

2、后面如果需要變更業(yè)務邏輯,只需要輕量地編譯工程,大大提高項目部署的效率。

到此這篇關于SpringBoot項目從18.18M瘦身到0.18M的實現(xiàn)的文章就介紹到這了,更多相關SpringBoot項目瘦身內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • springboot集成mybatisplus的方法

    springboot集成mybatisplus的方法

    這篇文章主要為大家詳細介紹了springboot集成mybatisplus的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Spring詳細講解事務失效的場景

    Spring詳細講解事務失效的場景

    實際項目開發(fā)中,如果涉及到多張表操作時,為了保證業(yè)務數(shù)據(jù)的一致性,大家一般都會采用事務機制,好多小伙伴可能只是簡單了解一下,遇到事務失效的情況,便會無從下手,下面這篇文章主要給大家介紹了關于Spring事務失效場景的相關資料,需要的朋友可以參考下
    2022-07-07
  • 詳解IDEA JUnit5測試套件運行錯誤的問題

    詳解IDEA JUnit5測試套件運行錯誤的問題

    這篇文章主要介紹了詳解IDEA JUnit5測試套件運行錯誤的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 淺談synchronized方法對非synchronized方法的影響

    淺談synchronized方法對非synchronized方法的影響

    下面小編就為大家?guī)硪黄獪\談synchronized方法對非synchronized方法的影響。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java并發(fā)編程之Fork/Join框架詳解

    Java并發(fā)編程之Fork/Join框架詳解

    這篇文章主要介紹了Java并發(fā)編程之Fork/Join框架詳解,Fork/Join框架是Java7提供的一個用于并行執(zhí)行任務的框架,是一個把大任務分割成若干個小任務,最終匯總每個小任務結果后得到大任務結果的框架,需要的朋友可以參考下
    2023-12-12
  • Java 中 Reference用法詳解

    Java 中 Reference用法詳解

    這篇文章主要介紹了Java 中 Reference用法詳解的相關資料,需要的朋友可以參考下
    2017-03-03
  • java基本教程之線程休眠 java多線程教程

    java基本教程之線程休眠 java多線程教程

    本文對javaThread中sleep()方法進行介紹,sleep() 的作用是讓當前線程休眠,即當前線程會從“運行狀態(tài)”進入到“休眠(阻塞)狀態(tài)”,大家參考使用吧
    2014-01-01
  • 關于Maven構建命令使用詳解

    關于Maven構建命令使用詳解

    Maven構建命令詳解:mvnclean、mvncompile、mvntest、mvnpackage、mvninstall、mvndeploy及其他常用命令,幫助開發(fā)者高效管理項目構建流程
    2025-02-02
  • Spring?Boot?Actuator?漏洞利用小結

    Spring?Boot?Actuator?漏洞利用小結

    spring對應兩個版本,分別是Spring Boot 2.x和Spring Boot 1.x,因此后面漏洞利用的payload也會有所不同,這篇文章主要介紹了Spring?Boot?Actuator?漏洞利用小結,需要的朋友可以參考下
    2023-11-11
  • 使用@CachePut?更新數(shù)據(jù)庫和更新緩存

    使用@CachePut?更新數(shù)據(jù)庫和更新緩存

    這篇文章主要介紹了使用@CachePut?更新數(shù)據(jù)庫和更新緩存方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論

涞源县| 喜德县| 灌阳县| 沛县| 宁陵县| 陈巴尔虎旗| 隆安县| 巴青县| 嘉黎县| 鄂州市| 垦利县| 二连浩特市| 隆安县| 团风县| 温泉县| 桂林市| 高要市| 龙州县| 旌德县| 桃园市| 庄浪县| 临海市| 贺兰县| 弋阳县| 镇沅| 武鸣县| 长兴县| 嵩明县| 苏尼特右旗| 右玉县| 西宁市| 阿克陶县| 遂川县| 永仁县| 高阳县| 永丰县| 仁布县| 铅山县| 全州县| 沐川县| 贡觉县|