简体   繁体   English

java.lang.ClassNotFoundException: org.apache.kafka.clients.consumer.ConsumerGroupMetadata

[英]java.lang.ClassNotFoundException: org.apache.kafka.clients.consumer.ConsumerGroupMetadata

I am trying to create a simple Kafka producer.我正在尝试创建一个简单的 Kafka 制作人。 I followed a tutorial since I am new to this topic.因为我是这个主题的新手,所以我遵循了一个教程。 I created a config file as recommended in the video.我按照视频中的建议创建了一个配置文件。 Here is the config file I am using.这是我正在使用的配置文件。

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());
    }
}

I am getting the following error when I try to run my application.当我尝试运行我的应用程序时出现以下错误。

Caused by: java.lang.ClassNotFoundException: org.apache.kafka.clients.consumer.ConsumerGroupMetadata
    at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[?:?]
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
    at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
    at java.lang.Class.privateGetDeclaredMethods(Class.java:3166) ~[?:?]
    at java.lang.Class.getDeclaredMethods(Class.java:2309) ~[?:?]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463) ~[spring-core-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) ~[spring-core-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.buildPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:438) ~[spring-orm-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:409) ~[spring-orm-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:336) ~[spring-orm-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:1094) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:569) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
    ... 15 more

Its a gradle project and here is the dependency它是一个 gradle 项目,这里是依赖项

 implementation 'org.springframework.kafka:spring-kafka:2.5.6.RELEASE'

I did add the dependency after reviewing a stackover flow thread.在查看 stackover 流线程后,我确实添加了依赖项。 However it did not resolve the error.但是它并没有解决错误。 Any lead would be helpful.任何线索都会有所帮助。

implementation 'org.apache.tomcat.embed:tomcat-embed-core'

You appear to have the wrong version of kafka-clients on the classpath.您似乎在类路径上使用了错误版本的kafka-clients spring-kafka 2.5.6 uses kafka-clients 2.5.1. spring-kafka 2.5.6 使用 kafka-clients 2.5.1。 You should not declare the version yourself, Spring Boot will pull in the correct version.你不应该自己声明版本,Spring Boot 会拉入正确的版本。

Spring Boot 2.3.4 will pull in this version of spring-kafka and its dependencies. Spring Boot 2.3.4 将引入此版本的 spring-kafka 及其依赖项。 If you are using an older boot, you need to override all the dependencies.如果您使用的是较旧的引导,则需要覆盖所有依赖项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Jar file has the class, still I get java.lang.ClassNotFoundException: org.apache.kafka.clients.consumer.ConsumerRecord - Jar file has the class, still I get java.lang.ClassNotFoundException: org.apache.kafka.clients.consumer.ConsumerRecord org.apache.commons.lang.SerializationException:java.lang.ClassNotFoundException - org.apache.commons.lang.SerializationException: java.lang.ClassNotFoundException java.lang.ClassNotFoundException: org.apache.kafka.common.metrics.MetricsContext - java.lang.ClassNotFoundException: org.apache.kafka.common.metrics.MetricsContext java.lang.ClassNotFoundException:org.apache.commons.fileupload.FileItemFactory - java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory java.lang.ClassNotFoundException:org.apache.juli.logging.LogFactory - java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory java.lang.ClassNotFoundException:org.apache.commons.dbcp2.datasources - java.lang.ClassNotFoundException: org.apache.commons.dbcp2.datasources java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration - java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration 引起原因:java.lang.ClassNotFoundException:org.apache.zookeeper.KeeperException - Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.KeeperException java.lang.ClassNotFoundException:org.apache.log4j.Level - java.lang.ClassNotFoundException: org.apache.log4j.Level java.lang.ClassNotFoundException:org.apache.catalina.core.ThreadLocalLeakPreventionListener - java.lang.ClassNotFoundException: org.apache.catalina.core.ThreadLocalLeakPreventionListener
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM