在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】,然后再查看效果,依次排查