maven处理jar包冲突

一、起因

  在使用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排除在外。

    

原文地址:https://www.cnblogs.com/chendeming/p/12028685.html