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

SpringBoot框架打包體積簡化過程圖解

 更新時(shí)間:2020年05月11日 14:30:04   作者:菜雞的日??偨Y(jié)  
這篇文章主要介紹了SpringBoot框架打包體積簡化過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Springboot 框架極大的的簡化了代碼的框架集成開發(fā),想當(dāng)年還是用ssm框架組合時(shí),那種配置令人頭疼,還有Springboot框架自帶tomcat服務(wù)器,簡化了我們的環(huán)境搭建。但是Springboot框架自帶tomcat服務(wù)器也有問題,就是導(dǎo)致一個服務(wù)很大,比如一個簡單的業(yè)務(wù)系統(tǒng),可能因?yàn)閷?dǎo)入的第三方j(luò)ar包比較多,導(dǎo)致打包出來的jar非常大。假如是內(nèi)網(wǎng)上傳至服務(wù)器,還好,但是假如是在阿里云這種云服務(wù)器,就很考驗(yàn)帶寬的上行速度了。比如我家50M寬帶,下行很快,但上行才3M,一個jar包100M,我微調(diào)一下重新部署,這中間的時(shí)間就是10分鐘去了。所以也在琢磨如何簡化jar包。

下圖是spingboot框架打出來的jar目錄情況

在BOOT-INF下面

這個lib下面就是第三方j(luò)ar包。

下面就來簡化它吧。

我的項(xiàng)目目錄結(jié)構(gòu)如下

course
  course-common
  course-pojo
  course-service
  course-web

Web中包含springboot框架main啟動入口,打包時(shí),會將 course-common、course-pojo、course-service 這三個服務(wù)打成jar包,集成在 course 最終的jar里lib目錄下。

修改course-web服務(wù)的pom文件

<build>
    <finalName>mml-course</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <outputDirectory>E:\JARS\pre</outputDirectory>
          <layout>ZIP</layout>      <!—- 必須加這句話 -->
          <includes>      <!—- 表示項(xiàng)目打包時(shí)集成哪些jar包-->
            <include>
              <groupId>com.mml</groupId>
              <artifactId>mml-course-service</artifactId>
            </include>
            <include>
              <groupId>com.mml</groupId>
              <artifactId>mml-course-pojo</artifactId>
            </include>
            <include>
              <groupId>com.mml</groupId>
              <artifactId>mml-course-common</artifactId>
            </include>
          </includes>
        </configuration>
      </plugin>
    </plugins>

重點(diǎn)關(guān)注兩處,layout 和 includes 。

layout 是為了 springboot jar簡化后能夠加載第三方j(luò)ar包目錄,如果沒加入這句話,在待會兒啟動時(shí),會報(bào)錯。

includes 是指包含哪些項(xiàng)目的jar包,因?yàn)槲翼?xiàng)目結(jié)構(gòu)的問題,我必須將 service 、pojo、common這三個項(xiàng)目打包進(jìn)去。假如你的項(xiàng)目中沒有自己項(xiàng)目依賴可以寫成如下格式,表示不包含任何jar包。

<includes>
  <include>
    <groupId>nothing</groupId>      
    <artifactId>nothing</artifactId>
  </include>
</includes>

修改完pom.xml后,執(zhí)行 mvn clean package 命令打包出來的springboot項(xiàng)目jar包大小會從100M縮小到100K,此時(shí)的jar包并不能直接運(yùn)行,因?yàn)闆]有這些第三方依賴。

上傳至服務(wù)器,速度會快很多,原來的jar包運(yùn)行命令是

nohub java –jar mml-course.jar > ./logs/course.out 2>&1 &

nohub 表示后臺執(zhí)行這個jar。

現(xiàn)在需要改成如下格式

nohub java –Dloader.path=/path/lib –jar mml-course.jar > ./logs/course.out 2>&1 &

加入了 –Dloader.path=/path/lib , /path/lib 根據(jù)實(shí)際的第三方j(luò)ar所在目錄,當(dāng)然也可以加載多個地址,用,分隔就好了。一定要在pom中加入<layout>ZIP</layout>,否則這步無法加載第三方j(luò)ar目錄,導(dǎo)致報(bào)錯。

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

相關(guān)文章

  • 利用java、js或mysql計(jì)算高德地圖中兩坐標(biāo)之間的距離

    利用java、js或mysql計(jì)算高德地圖中兩坐標(biāo)之間的距離

    最近因?yàn)楣ぷ鞯男枨螅枰?jì)算出高德地圖中兩個坐標(biāo)的距離,通過查找相關(guān)資料發(fā)現(xiàn)了多種實(shí)現(xiàn)的方法,下面這篇文章主要給大家介紹了關(guān)于利用java、js或mysql計(jì)算高德地圖中兩坐標(biāo)之間距離的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-10-10
  • 解決Feign獲取異常信息的處理方案

    解決Feign獲取異常信息的處理方案

    這篇文章主要介紹了解決Feign獲取異常信息的處理方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Hibernate單表操作實(shí)例解析

    Hibernate單表操作實(shí)例解析

    這篇文章主要介紹了Hibernate單表操作實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • SpringBoot整合Redisson實(shí)現(xiàn)分布式鎖

    SpringBoot整合Redisson實(shí)現(xiàn)分布式鎖

    本文主要介紹了SpringBoot整合Redisson實(shí)現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 一文帶你深入了解Java的自動拆裝箱

    一文帶你深入了解Java的自動拆裝箱

    Java推出了對于基本數(shù)據(jù)類型的對應(yīng)的對象,將基本數(shù)據(jù)類型轉(zhuǎn)換為對象就稱為裝箱,反之則是拆箱,本文主要為大家介紹了Java自動拆裝箱的原理與應(yīng)用,需要的可以參考下
    2023-11-11
  • 解決fastjson從1.1.41升級到1.2.28后報(bào)錯問題詳解

    解決fastjson從1.1.41升級到1.2.28后報(bào)錯問題詳解

    這篇文章主要介紹了解決fastjson從1.1.41升級到1.2.28后報(bào)錯問題詳解,需要的朋友可以參考下
    2020-02-02
  • 項(xiàng)目依賴Springboot jar失敗解決方案

    項(xiàng)目依賴Springboot jar失敗解決方案

    這篇文章主要介紹了項(xiàng)目依賴Springboot jar失敗解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • JavaEE通過response實(shí)現(xiàn)請求重定向

    JavaEE通過response實(shí)現(xiàn)請求重定向

    這篇文章主要介紹了JavaEE通過response實(shí)現(xiàn)請求重定向的方法,非常的簡單實(shí)用,有需要的朋友可以參考下
    2014-10-10
  • JDBC PreparedStatement Like參數(shù)報(bào)錯解決方案

    JDBC PreparedStatement Like參數(shù)報(bào)錯解決方案

    這篇文章主要介紹了JDBC PreparedStatement Like參數(shù)報(bào)錯解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java 面試題基礎(chǔ)知識集錦

    Java 面試題基礎(chǔ)知識集錦

    本文主要介紹Java基礎(chǔ)面試題集錦,這里整理了面試java工程師的基礎(chǔ)知識題錦,有需要的小伙伴可以參考下
    2016-09-09

最新評論

安丘市| 长顺县| 大港区| 疏勒县| 高青县| 汉川市| 海南省| 南部县| 荣昌县| 炎陵县| 丹江口市| 德惠市| 烟台市| 连城县| 桦川县| 且末县| 康马县| 鸡泽县| 平潭县| 五常市| 页游| 孝感市| 申扎县| 南木林县| 土默特右旗| 青州市| 阿拉尔市| 马公市| 岱山县| 综艺| 广灵县| 怀化市| 隆尧县| 博野县| 绍兴县| 丽江市| 图木舒克市| 忻城县| 铁岭县| 屯留县| 西乡县|