欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot瘦身打包部署的實現(xiàn)

 更新時間:2020年04月15日 09:41:50   作者:希爾伯特  
這篇文章主要介紹了SpringBoot瘦身打包部署的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、前言

最近做的項目由于引入第三方庫導致在運行mvn clean package 打jar時,編譯出來的 Jar 包很大(服務器多達500MB)。

二、瘦身前的Jar包

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

進入項目工程根目錄,執(zhí)行 mvn clean package命令,得到的Jar包目錄結構如下:

整個Jar包 524 MB(可以通過解壓軟件查看,會發(fā)現(xiàn)基本都是lib下的依賴包占用)

三、解決方法

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

POM文件如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

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

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

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

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <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 package

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

 

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

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

java -Dloader.path=/path/to/lib -jar /path/to/springboot-jsp-0.0.1-SNAPSHOT.jar

備注:

  • 將/path/to/改成實際的路徑。
  • -Dloader.path=lib文件夾路徑

最終目錄文件結構是:

├── lib  #lib文件夾

└── springboot-jsp-0.0.1-SNAPSHOT.jar

說明

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

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

四、特殊處理

1、以上步驟打包去除所有依賴包,如果想引入內(nèi)部編譯的依賴包可以通過includes屬性進行添加,利用引用了內(nèi)部的dubbo可以通過如下配置

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

結構如下:

2、如果引入內(nèi)部包過多,也可以通過excludeGroupIds屬性去掉不變的依賴包。

到此這篇關于SpringBoot瘦身打包部署的實現(xiàn)的文章就介紹到這了,更多相關SpringBoot瘦身打包部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論