• 解决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

  • 相关阅读:
    sublime去除空白行和重复行
    python list删除数据 和复制 列表
    微博实现简繁体转换
    2017.10.27日面试总结
    python 类和__class__理解
    python 单例模式应用
    pt-query-digest 慢日志监控
    在线安全清空慢查询日志slowlog
    Linux高级系统恢复技术
    灾备演练
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/13082354.html
Copyright © 2020-2023  润新知