亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現SpringBoot框架打包體積簡化

發布時間:2020-07-28 09:40:11 來源:億速云 閱讀:375 作者:小豬 欄目:編程語言

這篇文章主要講解了如何實現SpringBoot框架打包體積簡化,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

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

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

如何實現SpringBoot框架打包體積簡化

在BOOT-INF下面

如何實現SpringBoot框架打包體積簡化

這個lib下面就是第三方jar包。

下面就來簡化它吧。

我的項目目錄結構如下

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

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

修改course-web服務的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>      <!—- 表示項目打包時集成哪些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>

重點關注兩處,layout 和 includes 。

layout 是為了 springboot jar簡化后能夠加載第三方jar包目錄,如果沒加入這句話,在待會兒啟動時,會報錯。

includes 是指包含哪些項目的jar包,因為我項目結構的問題,我必須將 service 、pojo、common這三個項目打包進去。假如你的項目中沒有自己項目依賴可以寫成如下格式,表示不包含任何jar包。

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

修改完pom.xml后,執行 mvn clean package 命令打包出來的springboot項目jar包大小會從100M縮小到100K,此時的jar包并不能直接運行,因為沒有這些第三方依賴。

上傳至服務器,速度會快很多,原來的jar包運行命令是

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

nohub 表示后臺執行這個jar。

現在需要改成如下格式

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

加入了 –Dloader.path=/path/lib , /path/lib 根據實際的第三方jar所在目錄,當然也可以加載多個地址,用,分隔就好了。一定要在pom中加入<layout>ZIP</layout>,否則這步無法加載第三方jar目錄,導致報錯。

看完上述內容,是不是對如何實現SpringBoot框架打包體積簡化有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九龙县| 四子王旗| 北碚区| 福建省| 会同县| 莱阳市| 扎赉特旗| 武邑县| 屏东县| 大邑县| 内乡县| 江源县| 延川县| 青田县| 荃湾区| 东平县| 改则县| 准格尔旗| 洛扎县| 石柱| 泰顺县| 吉首市| 武定县| 青海省| 朝阳市| 乌拉特中旗| 山阳县| 攀枝花市| 万源市| 南华县| 岳阳市| 五指山市| 廊坊市| 佛学| 竹北市| 稷山县| 商都县| 客服| 新源县| 通城县| 阿拉善右旗|