debezium / debezium/dbz

Standardize Java versions and adopt Debezium BOM for dependency management in debezium-examples

Open
#1,809 4 comments 0 reactions 1 assignee Claimed by @ilyasahsan123 View on GitHub
component/examples good first issue type/task
Dominant language
HTML
Stars
6
Forks
8
Avg merge
2d 19h
Merged PRs (30d)
1

Description

#### Current Behaviour

Currently, each example in the repository uses different Java versions and manages Debezium dependencies individually. This creates several issues:

1. **Inconsistent Java versions** - Examples use different `maven.compiler.source`/`target` versions (e.g., some use Java 11, others may use different
versions)
2. **Manual dependency management** - Each example specifies Debezium dependency versions independently, making upgrades error-prone
3. **Version conflicts** - During version updates (like the recent 3.5 upgrade), incompatibility issues arise due to inconsistent dependency
versions
4. **Maintenance burden** - Every Debezium version upgrade requires updating multiple POMs across all examples

#### Expected Behaviour

1. **Standardize Java version**: Choose a single Java version (e.g., Java 17 or 21) for all examples
- Update all `pom.xml` files to use consistent `maven.compiler.source` and `maven.compiler.target` properties
- Document the minimum Java version requirement in the main README

2. **Adopt Debezium BOM**: Use Debezium's Bill of Materials (BOM) for dependency management
- Import `io.debezium:debezium-bom` in the `` section
- Remove explicit version declarations from Debezium dependencies in individual examples
- This ensures all Debezium components use compatible versions automatically

#### Related

- debezium/dbz#1165 PR discussion

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.