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

溫馨提示×

溫馨提示×

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

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

Maven項目中jar沖突如何解決

發布時間:2021-07-06 10:25:30 來源:億速云 閱讀:139 作者:chen 欄目:大數據

這篇文章主要講解了“Maven項目中jar沖突如何解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Maven項目中jar沖突如何解決”吧!

問題解析

針對這個問題,我們首先要搞清楚的是maven的幾大原則 一、依賴傳遞 假設A項目依賴B,B又依賴C,那么A也會依賴C

graph LR
A(A項目) --依賴--> B(B項目)
B --依賴-->C(C項目)
A --依賴-->C

二、聲明優先原則 假設maven項目中先后聲明了同一個jar包的A版本和B版本,則maven會使用A版本

graph LR
A(聲明A版本) --> B(聲明B版本)
O((maven))--使用-->A
O--不使用-->B

三、最近路徑優先原則 假設項目直接依賴A,A依賴B,B依賴C1,項目又直接依賴D,D依賴C2,那么項目會使用C2

graph LR
O((項目))--直接依賴-->A(A)
A-->B(B)
B-->C1(C1)
O--直接依賴-->D(D)
D-->C2(C2)
O--使用-->C2

當項目中同時引入不同版本的jar時就是出現依賴仲裁的問題,解決依賴仲裁的問題,我們就要充分利用好maven依賴的三大原則

解決方案

一、版本排除

使用<exclusion>標簽排除不使用的jar包版本類型

  <dependency>
       <groupId>commons-httpclient</groupId>
       <artifactId>commons-httpclient</artifactId>
       <version>3.1</version>
       <exclusions>
           <exclusion>
               <artifactId>commons-logging</artifactId>
               <groupId>commons-logging</groupId>
           </exclusion>
       </exclusions>
   </dependency>

這種方式可以通過IDEA的插件輕松實現暫未實現

二、版本鎖定

利用<dependencyManagement>標簽鎖定固定版本的jar包

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>0.2.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

三、直接引入

利用最近路徑優先原則,當其他依賴的jar間接依賴的jar版本不是我們想要的時候,我們可以在項目中直接引入我們想要版本的jar包


感謝各位的閱讀,以上就是“Maven項目中jar沖突如何解決”的內容了,經過本文的學習后,相信大家對Maven項目中jar沖突如何解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

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

AI

华池县| 东丰县| 贺州市| 长岭县| 沅江市| 名山县| 大英县| 咸宁市| 兴化市| 尤溪县| 呼和浩特市| 株洲市| 启东市| 商洛市| 婺源县| 宣武区| 莒南县| 辛集市| 什邡市| 乐东| 始兴县| 红桥区| 常州市| 化隆| 南城县| 子长县| 翼城县| 沭阳县| 长岛县| 社旗县| 蒙山县| 巫溪县| 揭东县| 蒙自县| 中山市| 柘荣县| 文安县| 江城| 云龙县| 定远县| 连云港市|