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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - Java教程 - SpringBoot之瘦身部署的詳細步驟

SpringBoot之瘦身部署的詳細步驟

2021-05-25 13:21yjgithub Java教程

本篇文章主要介紹了SpringBoot之瘦身部署的詳細步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、前言

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

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

二、瘦身前的jar包

tomcat在部署web工程的時候,可以進行增量更新,springboot也是可以的~

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

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

SpringBoot之瘦身部署的詳細步驟

整個jar包 18.18 mb, 但是 boot-inf/lib 就占用了將近 18 mb:

SpringBoot之瘦身部署的詳細步驟

三、解決方法步驟

1: 正常編譯jar包,解壓出lib文件夾

pom文件如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<build>
  <plugins>
    <plugin>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-maven-plugin</artifactid>
      <configuration>
        <mainclass>com.johnnian.app</mainclass>
        <layout>zip</layout>
      </configuration>
      <executions>
      <execution>
         <goals>
           <goal>repackage</goal>
         </goals>
       </execution>
      </executions>
    </plugin>
   <plugins>
<build>

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

將編譯后的jar包解壓,拷貝 boot-inf 目錄下的lib文件夾 到目標(biāo)路徑;

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<build>
  <plugins>
    <plugin>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-maven-plugin</artifactid>
      <configuration>
        <mainclass>com.johnnian.app</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>

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

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

SpringBoot之瘦身部署的詳細步驟

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

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

?
1
java -dloader.path=/path/to/lib -jar /path/to/springboot-jsp-0.0.1-snapshot.jar

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

 

復(fù)制代碼 代碼如下:
mvn dependency:copy-dependencies -doutputdirectory=f:\ideaworkplace\analysisengine\lib  -dincludescope=runtime

 

備注:

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

-dloader.path=lib文件夾路徑

最終目錄文件結(jié)構(gòu)是:

?
1
2
├── lib  #lib文件夾
└── springboot-jsp-0.0.1-snapshot.jar

說明

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/yjgithub/article/details/80475521

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 17岁韩国在线观看免费1 | 国产香蕉一区二区在线观看 | 农村妇女野战bbxxx农村妇女 | 国语视频高清在线观看 | 动漫美女人物被黄漫在线看 | 日韩精品成人a在线观看 | 思思久久精品在热线热 | 亚洲视频国产精品 | 97香蕉超级碰碰碰久久兔费 | 二次元美女扒开内裤露尿口 | aⅴ天堂小视频 | 人人看人人射 | 3d动漫美女被吸乳羞羞有 | 青青国产成人久久91网 | s8sp加密路线和免费路线首页 | 免费一级特黄特色大片 | 国产精品猎奇系列在线观看 | 国产日韩一区二区三区 | 国产外围 | 亚洲v成人天堂影视 | 97色伦| 日本视频高清 | 免费观看在线永久免费xx视频 | 久热在线这里只有精品7 | 色婷婷六月丁香在线观看 | 红色毛片 | 美女被草漫画 | 日韩成人精品 | 69热精品视频在线看影院 | 99久久精品免费看国产一区 | 日本海鸣馆 | 亚洲天堂2016 | 欧美人体高清在线观看ggogo | 好大好湿好硬好爽好深免费视频 | 按摩师他揉我奶好爽捏我奶 | 34看网片午夜理 | 好湿好紧太硬了我太爽了h 好湿好滑好硬好爽好深视频 | www.四色| 国产在视频线精品视频 | www.麻豆视频 | 日本一区二区三区在线 观看网站 |