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 Idea檢視解決jar包衝突MavenIdeaJAR
- Jar包衝突解決方案調研JAR
- 用好這幾個技巧,解決Maven Jar包衝突易如反掌MavenJAR
- maven依賴衝突以及解決方法Maven
- Maven下載jar包慢,pom報錯的解決辦法MavenJAR
- JAR衝突問題的解決JAR
- Maven依賴衝突解決總結Maven
- hash衝突解決方法
- 一次特殊的jar包衝突JAR
- css命名衝突解決方法CSS
- Maven類包衝突終極三大解決技巧 mvn dependency:treeMaven
- maven 依賴衝突,忽略某個包中類的方法Maven
- SSL證書7大常見錯誤及解決方法!
- 中科三方——SSL常見錯誤及解決方法
- Maven 本地倉庫明明有jar包,pom檔案還是報錯解決辦法MavenJAR
- 【彙總】Python語言常見報錯及解決方案!Python
- Hadoop常見錯誤及解決方案Hadoop
- spark-submit執行jar包報錯找不到類的解決方法SparkMITJAR
- IDEA專案已新增jar包,pom檔案,打包Maven卻一直報錯的幾種解決方法IdeaJARMaven
- SSL證書七大常見錯誤及解決方法
- Nacos 常見問題及解決方法
- Maven 專案引入本地 jar 包方法MavenJAR
- 依賴衝突時的解決方法
- MySQL 主從複製,常見的binlog錯誤及解決方法MySql
- 解決專案版本衝突——maven-shade外掛使用Maven
- composer包依賴衝突解決一例
- git 解決衝突Git
- Git 解決衝突Git
- 開發微信小程式之HTTPS報錯常見問題彙總及解決方法微信小程式HTTP
- anisble部署及包衝突處理
- 恆創科技:網站401錯誤的常見原因及解決方法網站
- 解決預設方法衝突的規則
- hash解決衝突的方法優缺點
- 常見的死鎖情況及解決方法
- Elasticsearch常見的5個錯誤及解決策略Elasticsearch
- 爬蟲常見錯誤程式碼及解決措施爬蟲
- 關於外部引用jar包報紅無法使用解決方法JAR
- 程式衝突及其解決
- git pull 衝突解決Git