← ClaudeAtlas

java-migrationlisted

Guide for upgrading Java projects between major versions (8→11→17→21→25). Use when user says "upgrade Java", "migrate to Java 25", "update Java version", or when modernizing legacy projects.
decebals/claude-code-java · ★ 599 · API & Backend · score 82
Install: claude install-skill decebals/claude-code-java
# Java Migration Skill Step-by-step guide for upgrading Java projects between major versions. ## When to Use - User says "upgrade to Java 25" / "migrate from Java 8" / "update Java version" - Modernizing legacy projects - Spring Boot 2.x → 3.x → 4.x migration - Preparing for LTS version adoption ## Migration Paths ``` Java 8 (LTS) → Java 11 (LTS) → Java 17 (LTS) → Java 21 (LTS) → Java 25 (LTS) │ │ │ │ │ └──────────────┴───────────────┴──────────────┴───────────────┘ Always migrate LTS → LTS ``` --- ## Quick Reference: What Breaks | From → To | Major Breaking Changes | |-----------|------------------------| | 8 → 11 | Removed `javax.xml.bind`, module system, internal APIs | | 11 → 17 | Sealed classes (preview→final), strong encapsulation | | 17 → 21 | Pattern matching changes, `finalize()` deprecated for removal | | 21 → 25 | Security Manager removed, Unsafe methods removed, 32-bit dropped | --- ## Migration Workflow ### Step 1: Assess Current State ```bash # Check current Java version java -version # Check compiler target in Maven grep -r "maven.compiler" pom.xml # Find usage of removed APIs grep -r "sun\." --include="*.java" src/ grep -r "javax\.xml\.bind" --include="*.java" src/ ``` ### Step 2: Update Build Configuration **Maven:** ```xml <properties> <java.version>21</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler