91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

如何使用maven war包打包去除jar包

發布時間:2021-07-23 16:54:59 來源:億速云 閱讀:596 作者:chen 欄目:開發技術

這篇文章主要介紹“如何使用maven war包打包去除jar包”,在日常操作中,相信很多人在如何使用maven war包打包去除jar包問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用maven war包打包去除jar包”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1、pom文件配置

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

便于后續tomcat啟動指定依賴包路徑

<!--拷貝依賴到jar外面的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>

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

如何使用maven war包打包去除jar包

如何使用maven war包打包去除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>

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

如何使用maven war包打包去除jar包

原先war包里的結構是包含很多commons開頭的jar,如下圖:

如何使用maven war包打包去除jar包

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

附注:

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

解決方案:

1、能做到版本一致就保持使用同一個版本,盡可能保證多個項目使用同一個庫的版本一致

2、讓項目各自依賴所需的版本并打進war包中,把其他同版本的jar包放在同一個共享包下

測試發現依賴在查找時從上往下找,匹配到就用第一個

如下圖會使用comm-0.0.1.jar版本的

如何使用maven war包打包去除jar包

springboot 打包插件去除jar包瘦身

到此,關于“如何使用maven war包打包去除jar包”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

罗江县| 荆门市| 富蕴县| 科技| 嘉义县| 肃南| 开鲁县| 时尚| 治多县| 东莞市| 宁明县| 嘉祥县| 池州市| 九龙城区| 波密县| 禹城市| 固原市| 湖北省| 永胜县| 富阳市| 海原县| 天长市| 安仁县| 久治县| 乐亭县| 金溪县| 卢氏县| 衡山县| 会宁县| 盱眙县| 泗水县| 太和县| 临泉县| 托克托县| 崇明县| 苏尼特右旗| 红安县| 五原县| 宽城| 师宗县| 青田县|