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

使用maven war包打包去除jar包瘦身

 更新時(shí)間:2021年07月23日 11:50:54   作者:傻不拉幾貓  
這篇文章主要介紹了使用maven war包打包去除jar包瘦身操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1、pom文件配置

1.1 添加maven-dependency-plugin插件用于將引用的jar包拷貝到指定的路徑

便于后續(xù)tomcat啟動(dòng)指定依賴包路徑

<!--拷貝依賴到j(luò)ar外面的lib目錄-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
                <goal>copy-dependencies</goal>
            </goals>
            <configuration>                <!--指定的依賴路徑-->
                <outputDirectory>
                    ${project.build.directory}/lib
                </outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

使用這個(gè)插件構(gòu)建完之后的目錄結(jié)構(gòu)多了一個(gè)lib目錄(即上述配置的outputDirectory指定的路徑),里面是依賴的jar包:

1.2 添加maven-war-plugin插件

<!-- war包 -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <packagingExcludes>
            <!--排除具體jar包-->
            <!--WEB-INF/lib/commons-io-2.5.jar,-->
            <!--WEB-INF/lib/commons-lang3-3.6.jar,-->
            <!--排除不是以commons-開頭的所有jar包-->
            <!--%regex[WEB-INF/lib/(?!commons-).*.*.jar]-->
            <!--排除以commons-開頭的所有jar包-->
            %regex[WEB-INF/lib/(commons-).*.*.jar]
        </packagingExcludes>
    </configuration>
</plugin>

上述構(gòu)建配置后打出的war包就會(huì)去除掉除war包里/WEB-INF/lib/下面相應(yīng)的jar包,使得發(fā)布包大小變小,加快上傳服務(wù)器速度,如下圖,加壓war包,查看WEB-INF/lib目錄,沒有包含commons開頭的jar包,說明已經(jīng)去除掉了:

原先war包里的結(jié)構(gòu)是包含很多commons開頭的jar,如下圖:

按照上述思路我們就可以將lib下的所有jar都去掉,去掉依賴jar以后就可以通過配置tomcat引用外部lib路徑來部署項(xiàng)目了

附注:

若存在不同版本依賴:比如項(xiàng)目A依賴Y庫的1.0版本,項(xiàng)目B依賴Y庫的2.0版本,那么可能會(huì)出現(xiàn)版本依賴沖突(兩個(gè)版本不兼容的情況下)

解決方案:

1、能做到版本一致就保持使用同一個(gè)版本,盡可能保證多個(gè)項(xiàng)目使用同一個(gè)庫的版本一致

2、讓項(xiàng)目各自依賴所需的版本并打進(jìn)war包中,把其他同版本的jar包放在同一個(gè)共享包下

測試發(fā)現(xiàn)依賴在查找時(shí)從上往下找,匹配到就用第一個(gè)

如下圖會(huì)使用comm-0.0.1.jar版本的

springboot 打包插件去除jar包瘦身

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java使用JDBC連接Oracle_MSSQL實(shí)例代碼

    Java使用JDBC連接Oracle_MSSQL實(shí)例代碼

    這篇文章主要介紹了Java使用JDBC連接Oracle_MSSQL實(shí)例代碼,需要的朋友可以參考下
    2014-01-01
  • Maven生命周期和及插件原理用法詳解

    Maven生命周期和及插件原理用法詳解

    這篇文章主要介紹了Maven生命周期和及插件原理用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值的相關(guān)資料
    2020-08-08
  • 詳解Java中的線程池

    詳解Java中的線程池

    這篇文章主要介紹了Java中的線程池,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Spring Schedule Task動(dòng)態(tài)改寫Cron配置方式

    Spring Schedule Task動(dòng)態(tài)改寫Cron配置方式

    這篇文章主要介紹了Spring Schedule Task動(dòng)態(tài)改寫Cron配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java鍵盤錄入Scanner類的使用方法詳析

    Java鍵盤錄入Scanner類的使用方法詳析

    在Java編程中,引用數(shù)據(jù)類型是用來存儲(chǔ)對(duì)象的引用(地址),而Scanner類是引用數(shù)據(jù)類型的一種,用于讀取輸入數(shù)據(jù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • springboot+mybatis-plus 兩種方式打印sql語句的方法

    springboot+mybatis-plus 兩種方式打印sql語句的方法

    這篇文章主要介紹了springboot+mybatis-plus 兩種方式打印sql語句的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • spring的13個(gè)經(jīng)典面試題

    spring的13個(gè)經(jīng)典面試題

    Spring框架是一個(gè)開放源代碼的J2EE應(yīng)用程序框架,是針對(duì)bean的生命周期進(jìn)行管理的輕量級(jí)容Spring解決了開發(fā)者在J2EE開發(fā)中遇到的許多常見的問題,我們這篇文章就來了解一下spring的面試題
    2021-06-06
  • ThreadLocal簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    ThreadLocal簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了ThreadLocal簡介的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • java微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能

    java微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能

    這篇文章主要為大家詳細(xì)介紹了PHP微信掃描公眾號(hào)二維碼實(shí)現(xiàn)登陸功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Java性能工具JMeter實(shí)現(xiàn)上傳與下載腳本編寫

    Java性能工具JMeter實(shí)現(xiàn)上傳與下載腳本編寫

    性能測試工作中,文件上傳也是經(jīng)常見的性能壓測場景之一,那么 JMeter 文件上傳下載腳本怎么做,本文詳細(xì)的來介紹一下,感興趣的可以了解一下
    2021-07-07

最新評(píng)論

卢氏县| 新邵县| 麻栗坡县| 威海市| 修文县| 岱山县| 玛沁县| 嘉禾县| 呼图壁县| 揭西县| 马公市| 陇南市| 玉溪市| 南郑县| 资阳市| 株洲县| 沁水县| 四平市| 南汇区| 沿河| 龙岩市| 西乡县| 开化县| 株洲市| 明水县| 台北市| 西盟| 江达县| 汕头市| 太康县| 多伦县| 垫江县| 彰化县| 涟源市| 天祝| 仙桃市| 龙胜| 克东县| 株洲县| 香格里拉县| 新丰县|