【问题标题】:Spring boot embedded Kafka integration throws NoClassDefFoundErrorSpring Boot 嵌入式 Kafka 集成抛出 NoClassDefFoundError
【发布时间】:2019-04-29 16:14:02
【问题描述】:

Spring Boot:2.0.3.RELEASE

org.apache.kafka.kafka-streams: 1.0.0

org.apache.kafka.kafka-clients: 1.0.0

org.springframwork.kafka:spring-kafka-test:2.1.7.RELEASE

我有一个使用 Kafka 的 Spring Boot 应用程序。我正在尝试关注https://blog.mimacom.com/testing-apache-kafka-with-spring-boot/ 来创建集成测试。

当我添加 @EmbeddedKafka 注释时,我在运行时收到错误

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kafkaEmbedded': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/apache/kafka/common/record/RecordFormat
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1699) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:407) ~[spring-beans-5.0.8.RELEASE.jar:5.0.8.RELEASE]

有一些关于这个错误的谷歌结果,但是它们都在旧的 kafka-client 版本上,它们应该在我使用的版本中得到修复。

这看起来像是版本不匹配,但我不清楚我应该对我做什么。

【问题讨论】:

标签: java spring spring-boot apache-kafka


【解决方案1】:

如 cmets 所示,此类错误通常是由于库版本不兼容造成的。以下组合有效

spring boot: 2.1
spring-streams/spring-client: 2.0.1 (Using 2.2.0 creates some compatibility issues)
spring-kafka: 2.2.5.RELEASE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-20
    • 2018-10-22
    • 2014-07-12
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    相关资源
    最近更新 更多