问题描述
我正在尝试将JsonSchema与模式注册表一起使用。它提供了一些与代码相关的错误。
有人成功尝试了JsonSchema。
java.lang.NoSuchMethodError: io.confluent.kafka.serializers.subject.strategy.SubjectNameStrategy.subjectName(Ljava/lang/String;ZLio/confluent/kafka/schemaregistry/ParsedSchema;)Ljava/lang/String;
at io.confluent.kafka.serializers.AbstractKafkaSchemaSerDe.getSubjectName(AbstractKafkaSchemaSerDe.java:117)
at io.confluent.connect.json.JsonSchemaConverter$Serializer.serialize(JsonSchemaConverter.java:135)
at io.confluent.connect.json.JsonSchemaConverter.fromConnectData(JsonSchemaConverter.java:88)
at org.apache.kafka.connect.storage.Converter.fromConnectData(Converter.java:63)
at org.apache.kafka.connect.runtime.WorkerSourceTask.lambda$convertTransformedRecord$2(WorkerSourceTask.java:295)
好像有getSubjectName函数,但没有subjectName
解决方法
在同一项目中尝试不同的制作人时,通常会发生此问题。在我们的方案中,我们在同一项目和路径中运行了Avro生产者和Json生产者。
在gradle构建文件中删除Avro依赖关系后,生产者成功执行。另外,确保所有依赖项都已添加到maven / gradle。