一、起因
在使用maven构建项目的时候,偶尔会遇上类似如下错误:
(1)java.io.IOException: invalid constant type: 15
(2)java.lang.NoSuchMethodError
这种其实都是jar包冲突问题(jar包与jar包,或jar包与jdk)
二、解决
(1)如果有no such method自然最好,搜索对应方法的jar包,更新pom.xml中的dependency就行了
(2)如果没有,那只能把所有的依赖包下下来查了,步骤如下
mvn dependency:copy-dependencies:把所有依赖包都下到target中,在其中找出重复jar包
mvn dependency:tree:查看依赖图谱,找出重复依赖的dependency
在对应使用低版本的dependency中加上
<exclusions>
<exclusion>
<groupId>xxx</groupId>
<artifactId>xxx</artifactId>
</exclusion>
</exclusions>
将低版本的jar排除在外。