1- ////
1+ [[update-deps]]
2+ == Override Spring Boot Dependencies
23
3- [[deps-for-24x]]
4- == Override Spring Boot Dependencies to use Spring for Apache Kafka 2.4
5-
6- When you use `spring-kafka-test` (version 2.4.x) with Spring Boot, you need to override certain Boot managed dependencies, as follows:
4+ When using Spring for Apache Kafka in a Spring Boot application, the Kafka dependency versions are determined by Spring Boot's dependency management.
5+ If you wish to use a different version, you need to override all of the associated dependencies.
6+ This is especially true when using the embedded Kafka broker in `spring-kafka-test`.
77
88**maven**
99
@@ -26,35 +26,35 @@ When you use `spring-kafka-test` (version 2.4.x) with Spring Boot, you need to o
2626<dependency>
2727 <groupId>org.apache.kafka</groupId>
2828 <artifactId>kafka-clients</artifactId>
29- <version>2.4.1 </version>
29+ <version>{kafka-version} </version>
3030</dependency>
3131
3232<!-- optional - only needed when using kafka-streams -->
3333<dependency>
3434 <groupId>org.apache.kafka</groupId>
3535 <artifactId>kafka-streams</artifactId>
36- <version>2.4.1 </version>
36+ <version>{kafka-version} </version>
3737</dependency>
3838
3939<dependency>
4040 <groupId>org.apache.kafka</groupId>
4141 <artifactId>kafka-clients</artifactId>
42- <version>2.4.1 </version>
42+ <version>{kafka-version} </version>
4343 <classifier>test</classifier>
4444 <scope>test</scope>
4545</dependency>
4646
4747<dependency>
4848 <groupId>org.apache.kafka</groupId>
49- <artifactId>kafka_2.12 </artifactId>
50- <version>2.4.1 </version>
49+ <artifactId>kafka_2.13 </artifactId>
50+ <version>{kafka-version} </version>
5151 <scope>test</scope>
5252</dependency>
5353
5454<dependency>
5555 <groupId>org.apache.kafka</groupId>
56- <artifactId>kafka_2.12 </artifactId>
57- <version>2.4.1 </version>
56+ <artifactId>kafka_2.13 </artifactId>
57+ <version>{kafka-version} </version>
5858 <classifier>test</classifier>
5959 <scope>test</scope>
6060</dependency>
@@ -70,21 +70,18 @@ dependencies {
7070
7171 implementation 'org.springframework.kafka:spring-kafka:{project-version}'
7272
73- implementation 'org.apache.kafka:kafka-clients:2.4.1'
74- implementation 'org.apache.kafka:kafka-streams:2.4.1' // optional - only needed when using kafka-streams
75- testImplementation ('org.springframework.kafka:spring-kafka-test:{project-version}') {
76- exclude module: 'kafka_2.11'
77- }
78- testImplementation 'org.apache.kafka:kafka-clients:2.4.1:test'
79- testImplementation 'org.apache.kafka:kafka_2.12:2.4.1'
80- testImplementation 'org.apache.kafka:kafka_2.12:2.4.1:test'
73+ implementation "org.apache.kafka:kafka-clients:$kafkaVersion"
74+ implementation "org.apache.kafka:kafka-streams:$kafkaVersion" // optional - only needed when using kafka-streams
75+ testImplementation 'org.springframework.kafka:spring-kafka-test:{project-version}'
76+ testImplementation "org.apache.kafka:kafka-clients:$kafkaVersion:test"
77+ testImplementation "org.apache.kafka:kafka_2.13:$kafkaVersion"
78+ testImplementation "org.apache.kafka:kafka_2.13:$kafkaVersion:test"
8179
8280}
8381----
8482====
8583
8684The test scope dependencies are only needed if you are using the embedded Kafka broker in tests.
87- ////
8885
8986[appendix]
9087[[history]]
0 commit comments