JAVAlang.ClassNotFoundException:io。汇合的。卡夫卡。序列化程序。卡夫卡谢马尔德摘要
我想在springboot中使用KafkaAvroDeserializer,但我失败了,启动时出现了错误报告,下面是我的代码和异常信息
有罐子不见了吗
我能吗
pom:
<!-- avro -->
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-schema-registry-client</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>common-utils</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>common-config</artifactId>
<version>6.0.0</version>
</dependency>
代码:
@Bean
public Map<String, Object> consumerConfigs() {
Map<String, Object> conConfigMap = new HashMap<>();
conConfigMap.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
...
conConfigMap.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
conConfigMap.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class);
conConfigMap.put("schema.registry.url", schemaRegistryUrl);
return conConfigMap;
}
例外信息:
Caused by: java.lang.ClassNotFoundException: io.confluent.kafka.serializers.AbstractKafkaSchemaSerDe
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_161]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_161]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) ~[na:1.8.0_161]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_161]
... 56 common frames omitted
# 1 楼答案
我也有同样的问题。 我决定从合流libs中添加kafka-serde工具库