Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.confluent.kafka.serializers.KafkaAvroSerializerConfig since 6.0.0
Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.confluent.kafka.serializers.KafkaAvroSerializerConfig since 6.0.0
我正在开发一个 flink (v.1.13.2) 应用程序,它应该向我的 Kafka 代理发布一些对象。
对于模式验证,我使用 Confluent Schema Registry。
我之前在 5.2.0 版本中使用过该库(也尝试过其他 5.x.x 版本):
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<!--<version>5.x.x</version>-->
<version>6.2.0</version>
</dependency>
这似乎可行,但在将架构注册到注册表时出现了奇怪的行为。架构只是“字节” 经过调查,我发现 'AvroSchemaUtils' 中的可疑部分已更改。
所以我尝试将库更新到下一个工作版本。
在我更新到 6.x.x 之后。我遇到以下错误:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.confluent.kafka.serializers.KafkaAvroSerializerConfig
at io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:50)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:369)
... 23 more
如何找出这里的错误?
这可能是问题所在。 Kafka Avro Serializer升级后,依赖的kafka client由kafka_2.12升级为kafka_2.13
https://mvnrepository.com/artifact/io.confluent/kafka-avro-serializer/6.2.0
我正在开发一个 flink (v.1.13.2) 应用程序,它应该向我的 Kafka 代理发布一些对象。 对于模式验证,我使用 Confluent Schema Registry。
我之前在 5.2.0 版本中使用过该库(也尝试过其他 5.x.x 版本):
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<!--<version>5.x.x</version>-->
<version>6.2.0</version>
</dependency>
这似乎可行,但在将架构注册到注册表时出现了奇怪的行为。架构只是“字节” 经过调查,我发现 'AvroSchemaUtils' 中的可疑部分已更改。
所以我尝试将库更新到下一个工作版本。 在我更新到 6.x.x 之后。我遇到以下错误:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.confluent.kafka.serializers.KafkaAvroSerializerConfig
at io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:50)
at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:369)
... 23 more
如何找出这里的错误?
这可能是问题所在。 Kafka Avro Serializer升级后,依赖的kafka client由kafka_2.12升级为kafka_2.13 https://mvnrepository.com/artifact/io.confluent/kafka-avro-serializer/6.2.0