解決maven依賴傳遞中的版本沖突問題


通常情況下,我們都比較喜歡使用maven進行項目管理,要加個依賴包也非常簡單,不需要到處去下載jar包,當然除了maven之外,也還有一些非常不錯的工具。在使用maven進行項目依賴管理的時候,有時候會出現一種情況,多個不同的開源組件都依賴了另外一個組件,但是這個組件的版本卻不一樣,在maven依賴中就會看到兩個版本不同的jar,通常我們可以根據實際情況排除其中一個,當然前提是這個版本沒有太大的差異,兼容。老規矩,直接了當說怎么做吧:

1、手工添加配置:在dependency標簽里使用子標簽exclusions,比如A組件使用了zookeeper 3.3.3的依賴包,B組件使用了zookeeper 3.3.6的依賴包,這時候我們要排除3.3.3這個版本可以這樣做:

      <dependency>
        <groupId>com.xxx</groupId>
        <artifactId>A</artifactId>
          <exclusions>
              <exclusion>
                  <groupId>org.apache.zookeeper</groupId>
                  <artifactId>zookeeper</artifactId>
              </exclusion>
          </exclusions>
      </dependency>

2、借助工具排除,通過eclipse的pom編輯工具:

 

這樣就可以解決同一個組件多個版本問題,但這個是有前提的,前面也已經提到過了。。。

另外也可以使用命令mvn project-info-reports:dependencies  查看項目依賴情況。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM