码迷,mamicode.com
首页 > 编程语言 > 详细

记一次netty的Hadoop和elasticsearch冲突jar包

时间:2018-08-29 20:28:48      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:targe   maven   问题   err   ide   final   lang   erb   key   

在一个项目中同时使用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包引用

 

记一次netty的Hadoop和elasticsearch冲突jar包

标签:targe   maven   问题   err   ide   final   lang   erb   key   

原文地址:https://www.cnblogs.com/qinglanmei/p/9556578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!