zoukankan      html  css  js  c++  java
  • 记一次netty的Hadoop和elasticsearch冲突jar包

    在一个项目中同时使用hbase和elasticsearch出现netty的jar包冲突的问题

    • 事件:

    在同一maven项目中使用hbase的同时又用了es

    程序运行后出错

    1 java.lang.NoSuchMethodError: io.netty.util.AttributeKey.newInstance(Ljava/lang/String;)Lio/netty/util/AttributeKey;

     上网查了一些原因,说是netty的版本不同的原因,自己在编译后的目录也看到了不同,分别用了4.0.23和4.1.13两个版本

    但不知怎么修改

    直到遇见一位大神给出了解决办法

    大神地址

    作者:hayaqi0504 

    • 原因:

    pom文件里不同组建各自依赖的netty的版本不同,

    例如:我的就是hbase依赖的netty版本和elasticsearch的不同

    • 解决办法:

    1.在idea的terminal查看pom所在目录

    mvn dependency:tree

    找到不同的jar版本,我的es用的4.1.13,而

    2.在pom.xml中强制引用netty的依赖,直接使用es所用的版本,因为es用的版本高于hbase所依赖的

    <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>4.1.13.Final</version>
            </dependency>

    注:mvn dependency:tree -Dverbose -Dincludes=asm:asm 类似的命令可以找到重复的jar包引用

  • 相关阅读:
    HTTP权威指南笔记-1.概述
    C# 设计模式之工厂模式(一)
    C# 读取Excel内容
    C# 反射
    C# 分部类与分部方法
    图像处理
    mysql 使用问题?
    第一节mysql 安装
    软件包管理
    第四节基础篇
  • 原文地址:https://www.cnblogs.com/qinglanmei/p/9556578.html
Copyright © 2011-2022 走看看