maven jar包衝突常見報錯及解決方法
見到如下錯誤,可以想到是不是jar包衝突
1.java.lang.NoSuchMethodError
2.java.lang.ClassNotFoundException
3.java.lang.NoClassDefFoundError
解決辦法
以一個錯誤為例:
解決方法:
1.首先定位到具體類。查到org.apache.httpHost對應的maven依賴。在intellij idea中search everywhere輸入類名,找到依賴。或者百度一下。
2.開啟httpHost類,找到具體的報錯位置。根據錯誤資訊,HttpRoute的106行報錯。找到錯誤。注意,錯誤資訊依據提示了jar包版本為4.4,所以找到4.4所對應的類。
可以看到錯誤位置,點選進入此類,定位到具體jar包。
可以看到4.1.4版本到httpcore並沒有需要的構造方法。系統裡存在兩個版本,一個是4.1,一個是4.4,系統調到4.1的找不到新方法,所以報noSuchMethodException().
所以我們要做的就是在maven中排除掉。4.1.4版本。
3.通過名字:com.alibaba.external:httpcomponent.httpcore我們知道,groupId為冒號前的com.alibaba.external,artifiedId為冒號後的:httpcomponent.httpcore
我們打出maven tree進行全文搜尋即可定位到在哪個依賴的gav中排除。進入pom所在目錄,mvn dependency:tree > treeweb.txt 就可以把tree資訊存在了txt檔案中,再全文搜尋com.alibaba.external即可。找到具體位置後,定位到在哪個依賴中排除。
4.排除依賴
<exclusions>
<exclusion>
<groupId>com.alibaba.external</groupId>
<artifactId>httpcomponents.httpcore</artifactId>
</exclusion>
</exclusions>
5.重新匯入maven依賴就可以了
注意
一個類的jar包名可以隨意改,所以一定注意,不能通過jar報名來找,要通過類名找,然後定位到具體的依賴jar包進行排除。
相關文章
- maven解決jar包依賴衝突MavenJAR
- Maven Idea檢視解決jar包衝突MavenIdeaJAR
- Jar包衝突解決方案調研JAR
- Git:程式碼衝突常見解決方法Git
- 用好這幾個技巧,解決Maven Jar包衝突易如反掌MavenJAR
- maven依賴衝突以及解決方法Maven
- JAR衝突問題的解決JAR
- Maven下載jar包慢,pom報錯的解決辦法MavenJAR
- weblogic+axis jar包衝突問題的另一個解決方法WebJAR
- Android Studio 包衝突解決方法Android
- Android Studio 包衝突的解決方法Android
- Maven依賴衝突解決總結Maven
- 一次特殊的jar包衝突JAR
- css命名衝突解決方法CSS
- Maven類包衝突終極三大解決技巧 mvn dependency:treeMaven
- Oracle 常見的錯誤問題及解決方法Oracle
- Maven中解決依賴衝突的問題Maven
- Maven 本地倉庫明明有jar包,pom檔案還是報錯解決辦法MavenJAR
- 中科三方——SSL常見錯誤及解決方法
- SSL證書7大常見錯誤及解決方法!
- spark-submit執行jar包報錯找不到類的解決方法SparkMITJAR
- Linux下檢測IP地址衝突及解決方法Linux
- 【彙總】Python語言常見報錯及解決方案!Python
- Nacos 常見問題及解決方法
- DVR常見故障原因及解決方法VR
- SSL證書七大常見錯誤及解決方法
- 依賴衝突時的解決方法
- Hadoop常見錯誤及解決方案Hadoop
- 開發常見錯誤及解決方案
- 查詢maven衝突Maven
- webshere6.0 jdom包衝突解決辦法Web
- Git 解決衝突Git
- git 解決衝突Git
- Maven 專案引入本地 jar 包方法MavenJAR
- Hadoop常見問題及解決方法Hadoop
- KMP常見問題及解決方法【Z】KMP
- Solaris 常見問題及解決方法(轉)
- 開發微信小程式之HTTPS報錯常見問題彙總及解決方法微信小程式HTTP