一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot項目Jar包如何瘦身部署的實現

SpringBoot項目Jar包如何瘦身部署的實現

2020-09-11 00:31Asurplus、 Java教程

這篇文章主要介紹了SpringBoot項目Jar包如何瘦身部署的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、背景

SpringBoot 為我們快速開發提供了很好的架子,使得我們只需要少量配置就能開始我們的開發工作,但是當我們需要打包上傳部署時,卻是很神傷的一個問題,因為打出來的 Jar 包少則十幾兆,多則一百來兆,我們需要上傳至公網服務器時,是非常慢的,這就引出了今天的主題,SpringBoot項目Jar包如何瘦身部署

1、思路分析 jar,我們可以看出,jar 包里面分為以下三個模塊

SpringBoot項目Jar包如何瘦身部署的實現

分為 BOOT-INF,META-INF,org 三個部分,打開 BOOT-INF

SpringBoot項目Jar包如何瘦身部署的實現

可以看到有 classes,lib 兩個文件夾,我們編譯好的代碼是放在 classes 里面的,而我們所依賴的 jar 包都是放在 lib 文件夾下

classes 部分是非常小的(我的是3M左右),lib部分是非常大的(我的是70M左右),所以上傳很慢

那我們可以將我們自己寫的代碼部分與所依賴的 maven jar 包部分拆開上傳,每次只需要上傳我們自己寫的代碼部分即可

二、瘦身部署

1、正常打包

首先,我們項目的 pom.xml 文件中的打包方式如下:

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
</build>

這是 SpringBoot 中默認的打包方式,我們先按照這種方式打包出來,得到一個 jar 包,我們將 jar 包解壓,如果不能直接解壓,則將后綴改為 zip 再進行解壓

我們只需要拿到 BOOT-INF 中的 lib 目錄即可

2、改變打包方式

我們對 SpringBoot 中默認的打包方式做一些配置

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <mainClass>com.zyxx.DeclareApplication</mainClass>
        <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>
  • mainClass,我們指定了項目的啟動類
  • layout,我們指定了打包方式為 ZIP,注意:一定是大寫的
  • includes,有自己的依賴 jar,可以在此導入
  • repackage,剔除其它的依賴,只需要保留最簡單的結構

3、再次打包

我們再次點擊 maven package,得到一個 jar 包,可以看到此時的 jar 包只有幾兆了

SpringBoot項目Jar包如何瘦身部署的實現

三、上傳啟動

我們將 lib 目錄,以及最后打包的瘦身項目 jar 包,上傳至服務器,目錄如下

SpringBoot項目Jar包如何瘦身部署的實現

使用命令

nohup java -Dloader.path=./lib -jar ./sbm-0.0.1-SNAPSHOT.jar &

-Dloader.path,告訴它所依賴的 maven jar 包位置

sbm-0.0.1-SNAPSHOT.jar,項目 jar 包的名字

nohup、&,使得 jar 包在服務后臺運行

四、總結

使用瘦身部署,方便每次的迭代更新,不用每次都上傳一個很大的 jar 包,從而節省部署時間

到此這篇關于SpringBoot項目Jar包如何瘦身部署的實現的文章就介紹到這了,更多相關SpringBoot Jar包瘦身部署內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_40065776/article/details/108399327

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩aⅴ在线观看 | 日韩在线中文字幕 | 禁忌高h | 精品一区二区三区高清免费观看 | 双性鞭蒂软汁淋漓 | 色综合天天综合中文网 | 四虎在线视频免费观看 | 韩国一级淫片特黄特刺激 | 亚洲第一网站免费视频 | 亚洲国产成人久久综合一区77 | 91婷婷射| 大香人蕉免费视频75 | 免费在线公开视频 | 久久精品一区二区三区资源网 | 国产成人精品一区二区仙踪林 | 无限时间看片在线观看 | 男人天堂中文字幕 | 国产剧情麻豆刘玥视频 | 天生奶水1v1高h | 3p文两男一女办公室高h | aika跟黑人太猛了 | 青青青视频蜜桃一区二区 | 国产区久久 | 国产suv精品 | 天天综合网天天做天天受 | 久久伊人免费 | 黑人巨荃大战乌克兰美女 | 美国雪白人妖sarina | 日韩一级在线观看 | 亚洲精品tv久久久久久久久久 | 亚洲狠狠婷婷综合久久久久网站 | 日韩精品亚洲一级在线观看 | 亚洲丁香网 | 日本免费在线观看 | 久久精品一区二区免费看 | 国产一级片免费观看 | 国产私人影院 | 99九九国产精品免费视频 | 91视频免费观看网站 | 草草视频人人爽 | 欧美性野久久久久久久久 |