• 解决jar包冲突问题


    Maven解决冲突的工具

    ①,使用maven helper
    ②,mvn dependency:tree
    ③,使用idea自带的maven依赖图,进行ctrl+f搜索冲突的依赖,然后进行exclusion

    常见错误

    1,一个类同时存在多个不同的jar包中(jar冲突)

         解决:

         ①,找到冲突的jar依赖有那几个?

         ②,确认要保留那个jar,排除那个jar?

         ③,再使用Maven helper或者mvn dependency:tree查到需要排除的jar所在位置,然后exclusion掉需要排除的依赖

         

    2,一个类同时存在同一个jar包的不同版本(版本冲突)

          原因:一个jar可能存在直接或者间接依赖导致同一个jar在一个项目中同时出现多个版本,需要排除掉较低的版本

          解决:

          ①,先找到这个jar在这个项目中总共有几个版本,然后保留最高版本

          ②,如果pom中明确定义了jar的版本,删除低版本依赖

          ③,如果pom中没有定义jar的版本,比如jackson-databind.2.8.1根本在项目中没有定义

          在根目录下的pom文件dependencyManagement中设置指定版本,然后子模块进行引用即可

          报错信息:

          java.lang.NoSuchMethodError:

          com.fasterxml.jackson.databind.jsontype.TypeSerializer.typeId(Ljava/lang/Object;Lcom/fasterxml/jackson/core/JsonToken;)Lcom/fasterxml/jackson/core/type/WritableTypeId;

          原因:TypeSerializer.typeId存在于2.9.10高版本中,而项目中默认是2.8.1,需要升级jar版本

          

    3,某个方法不存在
      jar包版本问题

           根据具体的类和方法找到具体的jar版本,然后引入

           错误信息:

      java.lang.NoSuchMethodError: 

           com.fasterxml.jackson.databind.jsontype.TypeSerializer.typeId(Ljava/lang/Object;Lcom/fasterxml/jackson/core/JsonToken;)Lcom/fasterxml/jackson/core/type/WritableTypeId;

           解决:根据具体的类和方法找到具体的jar版本,然后引入

           错误信息:

           java.lang.NoSuchMethodError:

           io.netty.util.concurrent.SingleThreadEventExecutor.<init>(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/util/concurrent/Executor;ZLjava/util/Queue;

           Lio/netty/util/concurrent/RejectedExecutionHandler;)V

           解决:https://www.jianshu.com/p/bb3718226f36


    4,某个类不存在
      jar包版本问题

           根据具体的类找到具体的jar版本,然后引入

           错误信息:

           java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonMerge

  • 相关阅读:
    为IIS站点启用SSL加密
    SQL Server Analysis Service身份验证
    安装规划服务器(PPS 2007)
    用SQL Server Compact Edition创建移动应用程序 【转载】
    在Web Service中使用Windows验证的方式
    巧用Excel去除数据表中的重复行
    如何动态切换报表中的图表类型
    使用链接维度
    如何配置订阅以使用 Web 同步(RMO 编程)【转载】
    如何对数据进行合并及分组
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/13082354.html
Copyright © 2020-2023  润新知