首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到Spring boot到2.5.5会导致kafka库出现问题

升级到Spring boot到2.5.5会导致kafka库出现问题
EN

Stack Overflow用户
提问于 2021-10-16 03:50:10
回答 1查看 526关注 0票数 0

我已经将spring boot版本从2.5.3升级到了2.5.5,它已经升级了这个库。

代码语言:javascript
复制
spring-kafka         : from 2.7.4 to 2.7.7
spring-kafka-test    : from 2.7.4 to 2.7.7
kafka-clients        : from 2.7.1 to 2.8.1
spring-test          : from 5.3.9 to 5.3.10

在这次升级中,我开始收到一个错误: java.lang.NoSuchMethodError:kafka.server.KafkaServer.(Lkafka/server/KafkaConfig;Lorg/apache/common/kafka/utils/Time;Lscala/Option;/Lscala/collection/Seq;)V

根据spring docs https://spring.io/projects/spring-kafka兼容性矩阵的要求,我已经尝试了很多次更改版本

你知道问题出在哪里吗?

pom.xml (spring-boot 2.5.5)

代码语言:javascript
复制
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka-test</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-connect-replicator</artifactId>
        <version>5.3.4</version>
        <scope>runtime</scope>
        <exclusions>
          <exclusion>
           <groupId>org.apache.kafka</groupId>
           <artifactId>kafka_2.11</artifactId>
          </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>io.confluent</groupId>
        <artifactId>kafka-avro-serializer</artifactId>
        <version>5.5.1</version>
        <exclusions>
          <exclusion>
           <groupId>org.apache.kafka</groupId>
           <artifactId>kafka-clients</artifactId>
          </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
    </dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <scope>test</scope>
</dependency>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-18 20:09:05

每当您为kafka客户端指定一个版本,而不是让boot指定版本时,您还必须覆盖嵌入式代理使用的kafka jar的版本。

https://docs.spring.io/spring-kafka/docs/current/reference/html/#update-deps

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69592501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档