java.lang.ClassNotFoundException:org.apache.kafka.clients.consumer.ConsumerGroupMetadata
我试图创建一个简单的卡夫卡制作人。因为我对这个话题不熟悉,所以我遵循了一个教程。我按照视频中的建议创建了一个配置文件。这是我正在使用的配置文件java.lang.ClassNotFoundException:org.apache.kafka.clients.consumer.ConsumerGroupMetadata,java,spring-boot,apache-kafka,spring-kafka,kafka-producer-api,Java,Spring Boot,Apache Kafka,Spring Kafka,Kafka Producer Api,我试图创建一个简单的卡夫卡制作人。因为我对这个话题不熟悉,所以我遵循了一个教程。我按照视频中的建议创建了一个配置文件。这是我正在使用的配置文件 import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.common.serialization.StringSerializer; import org.springframework.context.annotation.Bean; import
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.serialization.StringSerializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;
import org.springframework.kafka.support.serializer.JsonSerializer;
import java.util.HashMap;
import java.util.Map;
@Configuration
public class KafkaProducerConfig {
@Bean
public ProducerFactory<String, KafkaProducerModel> producerFactory() {
Map<String, Object> config = new HashMap<>();
config.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
config.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
config.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class);
return new DefaultKafkaProducerFactory<>(config);
}
@Bean
public KafkaTemplate<String, KafkaProducerModel> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
}
这是一个gradle项目,这里是依赖项
implementation 'org.springframework.kafka:spring-kafka:2.5.6.RELEASE'
我确实在查看stackover flow线程后添加了依赖项。然而,它并没有解决这个错误。任何线索都会有帮助
implementation 'org.apache.tomcat.embed:tomcat-embed-core'
类路径上似乎有错误版本的
kafka客户端。spring kafka 2.5.6使用kafka客户端2.5.1。您不应该自己声明版本,Spring Boot将引入正确的版本
SpringBoot2.3.4将引入此版本的SpringKafka及其依赖项。如果您使用的是旧引导,则需要覆盖所有依赖项
implementation 'org.apache.tomcat.embed:tomcat-embed-core'