Override Spring Boot Dependencies

在Spring Boot应用程序中使用Spring for Apache Kafka时,Apache Kafka依赖项版本由Spring Boot的依赖项管理确定。如果你希望使用不同版本的`kafka-clients`或`kafka-streams`,并为测试使用嵌入式kafka代理,则需要覆盖Spring Boot依赖项管理使用的版本;设置`kafka.version`属性。

Spring Boot 3.0.x 和 3.1.x 的默认 kafka-clients 依赖项分别是 3.3.2 和 3.4.1。

或者,要与支持的Spring Boot版本一起使用不同版本的Spring for Apache Kafka,请设置`spring-kafka.version`属性。

  • Maven

  • Gradle

<properties>
    <kafka.version>3.5.1</kafka.version>
    <spring-kafka.version>{project-version}</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'] = '{project-version}'

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代理时,才需要测试范围内的依赖项。