Spring Boot项目中无法实例化KafkaAvroSerializer类导致无法创建Kafka Producer的问题求助
Spring Boot项目中无法实例化KafkaAvroSerializer类导致无法创建Kafka Producer的问题求助
各位好,我遇到了一个棘手的问题,希望能得到大家的帮助:我们的Spring Boot项目无法创建Kafka Producer,报错信息为:
Could not instantiate class io.confluent.kafka.serializers.KafkaAvroSerializer
背景场景
我们需要在同一个Kafka Topic中发布不同结构的消息,消息结构使用Avro Schema定义,这些Schema存放在一个内部项目中,我们通过Maven依赖将其引入到当前Spring Boot项目里。
环境与依赖配置
- Spring Boot版本:3.3.2
- Java版本:17(也测试过Java 21)
- Confluent相关依赖(版本均为7.9.1):
org.springframework.kafka(Spring Kafka核心依赖)io.confluent:kafka-avro-serializerio.confluent:kafka-schema-serializerio.confluent:common-config
自定义Producer的配置代码
我们自己实现了一个自定义Kafka Producer,配置序列化器的核心代码如下:
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class); props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class); props.put(KafkaAvroSerializerConfig.KEY_SUBJECT_NAME_STRATEGY, TopicNameStrategy.class.getName()); props.put(KafkaAvroSerializerConfig.VALUE_SUBJECT_NAME_STRATEGY, TopicRecordNameStrategy.class.getName());
已做的排查动作
- 检查了项目构建的依赖树,确认所有相关JAR包都已存在,且版本和
pom.xml中声明的7.9.1完全一致; - 调试代码时发现,系统总是尝试调用
KafkaAvroSerializer的无参构造函数,并且可以确认这个类本身是存在的(排除了类找不到的基础问题)。
我们现在有点无从下手,明明依赖都在、类也能被找到,但就是无法完成实例化。如果需要更多信息,比如完整的报错堆栈、pom依赖片段等,随时可以补充提供。
提前感谢大家的帮助!
内容来源于stack exchange
相关产品推荐
相关产品推荐

