当前位置: 首页 > news >正文

hbase 使用disruptor_HBase和Kryo混合使用时出现的jar包冲突

HBase 1.1.2 + Kryo 4.0.1组合使用,kryo将数据序列化为byte数组后入到HBase中,查询程序将HBase取出来后,调用Kryo反序列化,突然出现了下面的错误,出现了jar包版本冲突了

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface org.objectweb.asm.MethodVisitor, but class was expected

at com.esotericsoftware.reflectasm.ConstructorAccess.insertConstructor(ConstructorAccess.java:128)

at com.esotericsoftware.reflectasm.ConstructorAccess.get(ConstructorAccess.java:98)

at com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy.newInstantiatorOf(Kryo.java:1271)

at com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1127)

at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1136)

at com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:562)

at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:538)

at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)

at com.yuewen.data.util.KryoUtil.readFromByte(KryoUtil.java:52)

at com.yuewen.data.Query.main(Query.java:37)

通过mvn dependency:tree命令查看依赖树结果如下:

[INFO] +- org.apache.hbase:hbase-server:jar:1.1.2:compile

[INFO] | +- org.apache.hbase:hbase-procedure:jar:1.1.2:compile

[INFO] | | \- org.apache.hbase:hbase-common:jar:tests:1.1.2:compile

[INFO] | +- org.apache.hbase:hbase-prefix-tree:jar:1.1.2:runtime

[INFO] | +- commons-httpclient:commons-httpclient:jar:3.1:compile

[INFO] | +- commons-collections:commons-collections:jar:3.2.1:compile

[INFO] | +- org.apache.hbase:hbase-hadoop-compat:jar:1.1.2:compile

[INFO] | +- org.apache.hbase:hbase-hadoop2-compat:jar:1.1.2:compile

[INFO] | +- com.yammer.metrics:metrics-core:jar:2.2.0:compile

[INFO] | +- com.sun.jersey:jersey-core:jar:1.9:compile

[INFO] | +- com.sun.jersey:jersey-server:jar:1.9:compile

[INFO] | | \- asm:asm:jar:3.1:compile

[INFO] | +- commons-cli:commons-cli:jar:1.2:compile

[INFO] | +- org.apache.commons:commons-math:jar:2.2:compile

[INFO] | +- org.mortbay.jetty:jetty:jar:6.1.26:compile

[INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.26:compile

[INFO] | +- org.mortbay.jetty:jetty-sslengine:jar:6.1.26:compile

[INFO] | +- org.mortbay.jetty:jsp-2.1:jar:6.1.14:compile

[INFO] | +- org.mortbay.jetty:jsp-api-2.1:jar:6.1.14:compile

[INFO] | +- org.mortbay.jetty:servlet-api-2.5:jar:6.1.14:compile

[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile

[INFO] | +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.13:compile

[INFO] | +- tomcat:jasper-compiler:jar:5.5.23:compile

[INFO] | +- tomcat:jasper-runtime:jar:5.5.23:compile

[INFO] | +- org.jamon:jamon-runtime:jar:2.3.1:compile

[INFO] | +- com.lmax:disruptor:jar:3.3.0:compile

[INFO] | +- org.apache.hadoop:hadoop-client:jar:2.5.1:compile

[INFO] | | +- org.apache.hadoop:hadoop-mapreduce-client-app:jar:2.5.1:compile

[INFO] | | | +- org.apache.hadoop:hadoop-mapreduce-client-common:jar:2.5.1:compile

[INFO] | | | | +- org.apache.hadoop:hadoop-yarn-client:jar:2.5.1:compile

[INFO] | | | | | \- com.sun.jersey:jersey-client:jar:1.9:compile

[INFO] | | | | \- org.apache.hadoop:hadoop-yarn-server-common:jar:2.5.1:compile

[INFO] | | | \- org.apache.hadoop:hadoop-mapreduce-client-shuffle:jar:2.5.1:compile

[INFO] | | | \- org.fusesource.leveldbjni:leveldbjni-all:jar:1.8:compile

[INFO] | | +- org.apache.hadoop:hadoop-yarn-api:jar:2.5.1:compile

[INFO] | | \- org.apache.hadoop:hadoop-mapreduce-client-jobclient:jar:2.5.1:compile

[INFO] | \- org.apache.hadoop:hadoop-hdfs:jar:2.5.1:compile

[INFO] | \- commons-daemon:commons-daemon:jar:1.0.13:compile

[INFO] +- com.esotericsoftware:kryo:jar:4.0.1:compile

[INFO] | +- com.esotericsoftware:minlog:jar:1.3.0:compile

[INFO] | \- org.objenesis:objenesis:jar:2.5.1:compile

[INFO] +- com.esotericsoftware:reflectasm:jar:1.11.3:compile

[INFO] \- org.ow2.asm:asm:jar:6.0:compile

hbase-server的jar包和kryo的reflectasm依赖之间存在asm字节码包之间的冲突,解决方案是在hbase-server中,去除对低版本asm字节码解析包的依赖:

org.apache.hbase

hbase-server

1.1.2

asm

asm

相关文章:

  • mediacodec延时_ijkplayer播放rtsp流卡顿、延迟问题解决
  • ei拼音的四个声调对应的字_【ei的四个声调有汉字】作文写作问答 - 归教作文网...
  • 高斯模糊java代码_一行java代码实现高斯模糊效果
  • springboot切面返回值_SpringBoot之切面AOP
  • cubase怎么用耳机听_听无损音乐用什么蓝牙耳机好,如何选择适合自己的蓝牙耳机...
  • 发动机压缩比怎么计算公式_柴油发动机动力猛、油耗低,为啥家用车都不用它...
  • 儿童手工制作日历_儿童手工折纸:怎么用纸制作一个相册集?折法简单,来一起DIY下...
  • 弹性盒子内容体居右对其_弹性盒子基本属性
  • access 提供程序无法确定object 值_技巧 | 加一行注释,让你的程序提速10+倍!numba十分钟上手指南...
  • axure内联框架和动态面板_Axure 教程:使用内联框架,制作页面滚动 | 人人都是产品经理...
  • 西门子200恒压供水梯形图_无负压变频供水设备有哪些技术要求
  • webloigc12服务启动不了_WebLogicServer12.2.1.3服务器无法启动配置解决方法
  • zabbix数据导出表格_Zabbix“专家坐诊”第64期问答汇总
  • er图转化为关系模式题_2020年大学生电子设计竞赛,B题,单相在线式不间断电源,详细技术方案!...
  • cas client 更新ticket_cas客户端流程详解(源码解析)单点登录
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • iOS | NSProxy
  • JavaScript设计模式系列一:工厂模式
  • JavaScript设计模式之工厂模式
  • java中的hashCode
  • Linux CTF 逆向入门
  • Node项目之评分系统(二)- 数据库设计
  • Python利用正则抓取网页内容保存到本地
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • select2 取值 遍历 设置默认值
  • TypeScript迭代器
  • vue 个人积累(使用工具,组件)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 初探 Vue 生命周期和钩子函数
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 解析带emoji和链接的聊天系统消息
  • 京东美团研发面经
  • 聚类分析——Kmeans
  • 开源地图数据可视化库——mapnik
  • 聊一聊前端的监控
  • 面试遇到的一些题
  • 使用Swoole加速Laravel(正式环境中)
  • FaaS 的简单实践
  • puppet连载22:define用法
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​Python 3 新特性:类型注解
  • ​queue --- 一个同步的队列类​
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #{}和${}的区别?
  • #NOIP 2014# day.2 T2 寻找道路
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (poj1.3.2)1791(构造法模拟)
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)换源+apt-get基础配置+搜狗拼音
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (五)网络优化与超参数选择--九五小庞