用maven解決依賴衝突

Bug1:本地pull了總分支後無法加載用到的jar包

因爲本地之前用的依賴版本,和總分支用了同樣版本的依賴,但是兩個相同版本的jar包裏有一個不同的函數。這樣一來本地檢測到相同版本。
解決方案:
1.先在Setting裏找到Maven的本地倉庫路徑,進入roepository在這裏插入圖片描述
2.在repository下的common文件夾中找到以項目名命名的文件夾然後刪除,之後再IDEA裏執行更新命令

Bug2:部署編譯失敗

通過如下命令行將遠端倉庫的jar包同步到本地

mvn clean install -Dmaven.repo.local=/tmp/m2 -Dmaven.test.skip=true

結果發現了禁止的直接依賴
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200701110329917.png解決方案:
在IDEA裏終端找到項目所在目錄,輸入以下命令

mvn dependency:tree -Dverbose -Dincludes=asm:asm  

將禁止直接引用的依賴找到,去父級用解綁,實例如下

<dependency>      
     <groupId>org.apache.hbase</groupId>  
     <artifactId>hbase</artifactId>  
     <version>xxx</version>   
     <exclusions>    
           <exclusion>        
                <groupId>commons-logging</groupId>            
                <artifactId>commons-logging</artifactId>    
           </exclusion>    
     </exclusions>    
</dependency> 
      注:-Dmaven.test.skip=true,不執行測試用例,也不編譯測試用例類。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章