覆盖Spring Boot依赖

在 Spring Boot 应用中使用 Apache Kafka 时,Apache Kafka 的依赖版本由 Spring Boot 的依赖管理决定。 如果你想使用不同版本的卡夫卡客户端卡夫卡流并使用嵌入的Kafka代理进行测试,你需要覆盖Spring Boot依赖管理所使用的版本;设置Kafka.version财产。spring-doc.cadn.net.cn

Spring Boot 3.5.x 和 3.4.x 都使用卡夫卡客户端版本 3.8.x,如果用户需要使用 3.9.x 客户端,必须使用以下方法手动升级。

或者,要使用支持Spring Boot版本的其他Spring for Apache Kafka版本,设置spring-kafka.version财产。spring-doc.cadn.net.cn

<properties>
    <kafka.version>4.0.0</kafka.version>
    <spring-kafka.version>4.0.0</spring-kafka.version>
</properties>

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
</dependency>
<!-- optional - only needed when using kafka-streams -->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-streams</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka-test</artifactId>
    <scope>test</scope>
</dependency>
ext['kafka.version'] = '3.5.0'
ext['spring-kafka.version'] = '4.0.0'

dependencies {
    implementation 'org.springframework.kafka:spring-kafka'
    implementation 'org.apache.kafka:kafka-streams' // optional - only needed when using kafka-streams
    testImplementation 'org.springframework.kafka:spring-kafka-test'
}

测试作用域依赖只有在测试中使用嵌入的 Kafka 代理时才需要。spring-doc.cadn.net.cn