npx claudepluginhub ducpm2303/claude-java-plugins --plugin java-coreThis skill uses the workspace's default tool permissions.
Guide the migration of a Java project to a newer Java version. This is an interactive migration assistant.
Detects Java version from pom.xml or build.gradle and suggests refactorings like lambdas (8+), streams (8+), records (16+), pattern matching (17+), plus universal changes like method extraction and dead code removal.
Guides framework and language migrations: version upgrades, breaking changes, dependency audits, codemods, rollbacks. For React 19, Next.js App Router, Python 3.12, Node 22, etc.
Analyzes dependencies for upgrade planning and migration. Identifies deprecated APIs, breaking changes, usage summaries, third-party compatibility, and migration checklists with effort estimates.
Share bugs, ideas, or general feedback.
Guide the migration of a Java project to a newer Java version. This is an interactive migration assistant.
Check pom.xml (<java.version>, <maven.compiler.source>, <maven.compiler.target>) or build.gradle (sourceCompatibility, javaVersion). Ask for target version if not specified.
Breaking changes to fix:
sun.* and com.sun.* internal API usage → find public alternativesjavax.xml.bind (JAXB), javax.activation, javax.annotation → add as Maven dependencies (jakarta.xml.bind-api, etc.)ClassLoader.getSystemClassLoader().getResourceAsStream() → use getClass().getResourceAsStream()finalize() → deprecated, suggest Cleaner or try-with-resourcesQuick wins to adopt (optional):
var for local variables (Java 10+) where type is obviousList.of(), Map.of(), Set.of() instead of Collections.unmodifiableList(Arrays.asList(...))String new methods: isBlank(), strip(), lines(), repeat()Optional.ifPresentOrElse(), Optional.or()Build changes:
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
Breaking changes to fix:
--add-opens flags (may need library updates)SecurityManager usagesun.misc.Unsafe direct usage → find library replacementsQuick wins to adopt (optional):
instanceof (Java 16+)Breaking changes to fix:
Quick wins to adopt (optional):
getFirst(), getLast() (Java 21)Output a numbered checklist:
Migration: Java [current] → Java [target]
REQUIRED (must fix before compiling):
[ ] 1. [specific change with file/class reference if visible]
[ ] 2. ...
RECOMMENDED (adopt for better code):
[ ] 3. [specific improvement]
[ ] 4. ...
BUILD CHANGES:
[ ] Update pom.xml/build.gradle compiler version
[ ] Update CI/CD Java version
[ ] Update Docker base image (e.g., eclipse-temurin:[target]-jre)
If the project files are accessible: "Want me to scan your codebase for the required changes above?"
/java-review to catch any remaining issues/java-refactor to adopt new idioms