85 lines
3.4 KiB
XML
85 lines
3.4 KiB
XML
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<!-- Inheriting spring-boot-starter-parent so spring-kafka, kafka-clients, Jackson and the
|
|
test stack are all Boot-managed. Boot 4.1.1 manages Spring Kafka 4.1.1 and
|
|
kafka-clients 4.3.1; do not pin those yourself. -->
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-parent</artifactId>
|
|
<version>4.1.1</version>
|
|
<relativePath/>
|
|
</parent>
|
|
|
|
<groupId>com.ankurm</groupId>
|
|
<artifactId>kafka-basics</artifactId>
|
|
<version>1.0</version>
|
|
<packaging>jar</packaging>
|
|
|
|
<properties>
|
|
<java.version>25</java.version>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
</dependency>
|
|
<!-- spring-boot-starter-kafka, NOT a bare org.springframework.kafka:spring-kafka
|
|
dependency. In Boot 4 the auto-configuration lives in the spring-boot-kafka module
|
|
(package org.springframework.boot.kafka.autoconfigure), which the starter brings and
|
|
spring-kafka does not. Depending on spring-kafka alone compiles, starts, and gives you
|
|
no KafkaTemplate bean: "No qualifying bean of type KafkaTemplate<...>". Every Boot 3
|
|
tutorial gets this wrong now. See docs/01-the-on-ramp.md. -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-kafka</artifactId>
|
|
</dependency>
|
|
<!-- JsonSerializer/JsonDeserializer need a Jackson ObjectMapper. Boot 4 moved to
|
|
Jackson 3 (tools.jackson), which changes the import in your own code. -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-jackson</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- The broker used by the committed transcripts: a real Kafka broker in KRaft mode,
|
|
started in-process. No Docker required, which is why docs/output/ can be regenerated
|
|
anywhere. See docs/07-testing.md for the Testcontainers route. -->
|
|
<dependency>
|
|
<groupId>org.springframework.kafka</groupId>
|
|
<artifactId>spring-kafka-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-testcontainers</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- NOT org.testcontainers:kafka. Testcontainers 2.x renamed every module with a
|
|
"testcontainers-" prefix, and Boot 4.1.1 imports testcontainers-bom 2.0.5, which
|
|
manages the new name only. The old coordinate stopped at 1.21.4 and fails the build
|
|
with "'dependencies.dependency.version' ... is missing", which does not mention the
|
|
rename. See docs/07-testing.md. -->
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers-kafka</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|