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

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

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

一、前言

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

二、瘦身前的Jar包

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

進(jìn)入項(xiàng)目工程根目錄,執(zhí)行 mvn clean package命令,得到的Jar包目錄結(jié)構(gòu)如下:

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

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

將編譯后的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>
                <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: 運(yùn)行編譯后的Jar包

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

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

備注:

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

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

├── lib  #lib文件夾

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

說明

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

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

四、特殊處理

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

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

結(jié)構(gòu)如下:

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

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

相關(guān)文章

最新評論