初始化SpringBoot应用程序时出错。我有一个SpringBoot应用程序。 2.1.5使用Kakfa的发布

我有一个SpringBoot应用程序。 2.1.5.RELEASE,它使用IntelliJ IDEA将Spring用于Apache Kafka(基于Kafka的消息传递解决方案) 我已经创建了此服务:

public class KafkaProducerService {

    private static final String TOPIC = "bendiciones";

    private final KafkaTemplate<String,String> kafkaTemplate;

    public KafkaProducerService(KafkaTemplate<String,String> kafkaTemplate) {
        this.kafkaTemplate = kafkaTemplate;
    }

    public void sendMessage(String message){
        log.info(String.format("$$ -> Producing message --> %s",message));
        this.kafkaTemplate.send(TOPIC,message);
    }
}

但是当我启动应用程序时。我收到此错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.kafka.config.internalKafkaListenerAnnotationProcessor': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.kafka.annotation.KafkaListenerAnnotationBeanPostProcessor]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/log/Logaccessor
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1303)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1197)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:228)
    at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:721)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:534)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
    at com.bendiciones.buenas.noches.Application.main(Application.java:38)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.kafka.annotation.KafkaListenerAnnotationBeanPostProcessor]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/log/Logaccessor
    at org.springframework.beans.BeanUtils.instantiateclass(BeanUtils.java:184)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1295)
    ... 15 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/log/Logaccessor

这些是我在po文件中的依赖项:

       <dependency>
                    <groupId>org.springframework.kafka</groupId>
                    <artifactId>spring-kafka</artifactId>
                    <version>2.3.3.RELEASE</version>
                </dependency>

    <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
            </dependency>
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
    </parent>
usb333 回答:初始化SpringBoot应用程序时出错。我有一个SpringBoot应用程序。 2.1.5使用Kakfa的发布

这类错误通常是由于混合了来自框架不同版本的jar。它们应该都匹配,否则您将遇到这类问题。

查看您的依赖关系,您正在使用依赖于Spring Framework 5.1.x的Spring Boot2.1.x。您还想使用Kafka,并为此使用了Spring Kafka 2.3.3,但是此版本使用/期望使用Spring 5.2。 Spring 5.1和5.2不兼容,因此您遇到了问题。

从Spring Kafka依赖项中删除import numpy as np import pandas as pd from datetime import datetime # Let's declare an array with a datetime.datetime object values = [datetime.now()] print(type(values[0])) > <class 'datetime.datetime'> # Clearly,the datetime.datetime objects became pd.Timestamp once moved to a pd.DataFrame df = pd.DataFrame(values,columns=['A']) print(type(df.iloc[0][0])) > <class 'pandas._libs.tslibs.timestamps.Timestamp'> # Just to be sure,lets iterate over each datetime and manually convert them to pd.Timestamp df['A'].apply(lambda x: pd.Timestamp(x)) print(type(df.iloc[0][0])) > <class 'pandas._libs.tslibs.timestamps.Timestamp'> # df.values (or series.values in this case) returns an np.ndarray print(type(df.iloc[0].values)) > <class 'numpy.ndarray'> # When we check what is the type of elements of the '.values' array,# it turns out the pd.Timestamp objects got converted to np.datetime64 print(type(df.iloc[0].values[0])) > <class 'numpy.datetime64'> # Just to double check,can an np.ndarray contain pd.Timestamps? timestamp = pd.Timestamp(datetime.now()) timestamps = np.array([timestamp]) print(type(timestamps)) > <class 'numpy.ndarray'> # Seems like it does. Why the above conversion then? print(type(timestamps[0])) > <class 'pandas._libs.tslibs.timestamps.Timestamp'> 标签。 Spring Boot将自动为您管理对适当兼容版本的依赖关系。

本文链接:https://www.f2er.com/3152371.html

大家都在问