博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flink Maven项目兼容多版本Kafka
阅读量:5291 次
发布时间:2019-06-14

本文共 1096 字,大约阅读时间需要 3 分钟。

主要有两种方法可以解决:修改jar包内部的包名或者使用自定义classloader

Flink需要导入kafka-clients来支持对kafka的生产和消费。kafka-clients0.11提供的api仅在kafka0.11、kafka0.10版本可用,如果要对kafka0.8、kafka0.9进行生产和消费,则需要使用版本相匹配的kafka-clients的jar包。但如果直接使用这些jar包会导致jar包冲突,因为里面的类名字相同且都是在相同包名下的。

org.apache.kafka
kafka_${scala.binary.version}
0.11.0.0
org.apache.kafka
kafka_${scala.binary.version}
0.10.2.1
org.apache.kafka
kafka_${scala.binary.version}
0.9.0.1
org.apache.kafka
kafka_${scala.binary.version}
0.8.2.2

像这样把所有版本的依赖引入必然会造成jar包冲突。

因此需要对jar包中的包名进行修改防止冲突。

这里分别将org.apache.kafka修改为org.apache.kafka08和org.apache.kafka09。使用的工具为jarjar。

转载于:https://www.cnblogs.com/mycd/p/11228022.html

你可能感兴趣的文章
Mysql安装方法及安装问题解决
查看>>
Java动态代理的两种实现方式:
查看>>
PHP trait
查看>>
Redis的常用命令(三)
查看>>
HDOJ 4749 Parade Show
查看>>
python 多线程并发threading & 任务队列Queue
查看>>
【黑马程序员】资深程序员的见解
查看>>
1_fbauto
查看>>
IO体系、集合体系、多线程、jdbc
查看>>
关于时间:UTC/GMT/xST/ xDT
查看>>
[51Nod1089] 最长回文子串 V2(Manacher算法)
查看>>
Asp.Net生命周期系列六
查看>>
php引用 =& 详解
查看>>
Codeforces 914D Bash and a Tough Math Puzzle (ZKW线段树)
查看>>
POJ 3009: Curling 2.0
查看>>
DLNA介绍(包含UPnP,2011/6/20 更新)
查看>>
ANGULARJS5从0开始(2) - 整合bootstrap和font-awesome
查看>>
Android 使用Parcelable序列化对象
查看>>
Python Web框架Django (零)
查看>>
Foxmail出现 错误信息:553 mailbox not found怎么解决
查看>>