bump-java-versionlisted
Install: claude install-skill vasiliy-mikhailov/bump-java-version-skill
# Bumping a Maven or Gradle project one Java LTS step — by hand
Migrate a project **one** Java LTS step (8→11, 11→17, 17→21, or 21→25) so it **compiles** under the new
JDK and every test that **passed before still passes**. Uses only standard tools — **JDKs, the project's
build tool (Maven or Gradle), and OpenRewrite** (recipes pulled from Maven Central). No project-specific
scripts.
**Detect the build tool first** — every step below has a **Maven** path and a **Gradle** path:
- a root **`pom.xml`** → **Maven**;
- a **`build.gradle`/`.kts` + `gradlew`** and no `pom.xml` → **Gradle**.
Always use the project's wrapper when present (`./mvnw`, and for Gradle **always** the repo's `./gradlew`,
never a system `gradle`). Do **one** step at a time (8→17 = do 8→11 fully green, then 11→17).
---
## 0. Tools you need (all standard)
- The **two JDKs** — the one the project builds with now (`jv_from`) and the target (`jv_to`).
e.g. for 8→11 you need JDK 8 **and** JDK 11. Select per command with `JAVA_HOME`.
- **Maven** (`mvn` / `./mvnw`) **or** **Gradle** (the repo's `./gradlew`).
- **Internet** — OpenRewrite recipes and any new deps come from Maven Central.
- **git** — commit a baseline first so you can `diff`/revert.
Versions used below are known-good; newer point releases are fine:
- rewrite-maven-plugin `6.40.0`, `rewrite-migrate-java` `3.35.0`, `rewrite-spring` `6.31.0`.
- For the **21→25** hop use `rewrite-maven-plugin` `6.41.0` + `rewrite-migrate-java` `3.36.0` — these carr