在idea中開發web項目,解決maven的jar包沖突的方法
第一步:
先對項目進行 clean ,再進行install
第二步:
出現NoSuchMethodException
,ClassNotFoundException
,NoClassDefFoundError
極大概率是jar沖突。
所以,這個時候,就可以根據報錯,確定jar包名稱,然后打開maven依賴樹,搜索對應jar包
1.根據報錯,確定沖突jar包名
根據報錯具體錯誤信息,錯誤行數,點進去,看看是哪個類,存在於哪個jar包。
2.打開maven依賴樹
在maven控件的上方,打開即可【也有使用 mvn dependency:tree 命令打印查看的】
3.搜索指定的jar包名稱
4.執行排除jar包的動作
效果類似於在pom文件中使用<exclusions>標簽排除 jar包的動作
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0-cdh5.8.0</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency>
第三步:
排除完成后,重啟項目,保證讓maven的依賴jar包重新編譯【即執行clean和install】,然后再查看效果,依次排查