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

SpringBoot之瘦身部署的詳細(xì)步驟

 更新時(shí)間:2018年08月16日 10:15:29   作者:yjgithub  
本篇文章主要介紹了SpringBoot之瘦身部署的詳細(xì)步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

一、前言

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

這個(gè)時(shí)候如果想要對(duì)線(xiàn)上運(yùn)行工程有一些微調(diào),則非常痛苦

二、瘦身前的Jar包

Tomcat在部署Web工程的時(shí)候,可以進(jìn)行增量更新,SpringBoot也是可以的~

SpringBoot編譯出來(lái)的Jar包中,磁盤(pán)占用大的,是一些外部依賴(lài)庫(kù)(jar包),例如:

進(jìn)入項(xiàng)目工程根目錄,執(zhí)行 mvn clean install 命令,得到的Jar包,用壓縮軟件打開(kāi),目錄結(jié)構(gòu)如下:

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

三、解決方法步驟

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

POM文件如下:

<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>

進(jìn)入項(xiàng)目根目錄,執(zhí)行命令: mvn clean install

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

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

<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)不會(huì)被引入了:

步驟3: 運(yùn)行編譯后的Jar包

將 步驟1 解壓出來(lái)的lib文件夾、步驟2編譯的jar包放在同一個(gè)目錄, 運(yùn)行下面命令:

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/改成實(shí)際的路徑。

-Dloader.path=lib文件夾路徑

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

├── lib  #lib文件夾
└── springboot-jsp-0.0.1-SNAPSHOT.jar 

說(shuō)明

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 鑒權(quán)認(rèn)證+aop+注解+過(guò)濾feign請(qǐng)求的實(shí)例

    鑒權(quán)認(rèn)證+aop+注解+過(guò)濾feign請(qǐng)求的實(shí)例

    這篇文章主要介紹了鑒權(quán)認(rèn)證+aop+注解+過(guò)濾feign請(qǐng)求的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作

    springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作

    這篇文章主要介紹了springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 如何對(duì)jdk版本升級(jí)或降級(jí)

    如何對(duì)jdk版本升級(jí)或降級(jí)

    這篇文章主要介紹了如何對(duì)jdk版本升級(jí)或降級(jí)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • MyBatis自定義TypeHandler如何解決字段映射問(wèn)題

    MyBatis自定義TypeHandler如何解決字段映射問(wèn)題

    這篇文章主要介紹了MyBatis自定義TypeHandler如何解決字段映射問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java基于jeeplus vue實(shí)現(xiàn)簡(jiǎn)單工作流過(guò)程圖解

    Java基于jeeplus vue實(shí)現(xiàn)簡(jiǎn)單工作流過(guò)程圖解

    這篇文章主要介紹了Java基于jeeplus vue實(shí)現(xiàn)簡(jiǎn)單工作流過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java編程語(yǔ)言特性和優(yōu)勢(shì)

    Java編程語(yǔ)言特性和優(yōu)勢(shì)

    這篇文章主要介紹了Java編程語(yǔ)言特性和優(yōu)勢(shì),Java是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,同時(shí)也增加了垃圾回收機(jī)制,釋放掉不被使用的內(nèi)存空間,解決了管理內(nèi)存空間的煩惱,下面來(lái)聊聊Java編程語(yǔ)言特性和優(yōu)勢(shì)吧
    2022-01-01
  • java正則實(shí)現(xiàn)各種日期格式化

    java正則實(shí)現(xiàn)各種日期格式化

    本文給大家分享的是使用java結(jié)合正則表達(dá)式來(lái)實(shí)現(xiàn)各種日期的格式化功能,代碼非常的簡(jiǎn)單,有需要的小伙伴可以參考下。
    2015-05-05
  • SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

    SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • 最新評(píng)論

    河南省| 沭阳县| 安丘市| 嘉峪关市| 黑水县| 蓬莱市| 神池县| 毕节市| 鹰潭市| 石屏县| 宣汉县| 扎兰屯市| 健康| 黄龙县| 松江区| 金华市| 尖扎县| 罗山县| 大城县| 涿州市| 亳州市| 孟津县| 彭水| 云阳县| 渝中区| 金门县| 兴业县| 信丰县| 莲花县| 曲沃县| 育儿| 榆中县| 措美县| 化德县| 玛多县| 美姑县| 平陆县| 姚安县| 宜兴市| 永胜县| 辽阳市|