Install
openclaw skills install spring-boot-2-to-3Migrate Spring Boot 2.7.x applications to Spring Boot 3.x with a recipe-first OpenRewrite workflow, then complete manual compatibility fixes and verification. Use only when the project is already on Boot 2.7.x; projects on 2.6 or earlier may fail—upgrade to 2.7.x first. Covers pom.xml/build.gradle, javax-to-jakarta, Spring Security config, dependency alignment, Dockerfile Java base image.
openclaw skills install spring-boot-2-to-3Upgrade a Spring Boot 2.7.x service to 3.x in controlled stages: baseline capture, automated OpenRewrite migration, manual compatibility fixes, and regression validation. Prefer small, verifiable commits and keep each migration stage reversible.
UpgradeSpringBoot_2_7 or manual POM changes), get the build and tests green, then use this skill to migrate 2.7.x → 3.x.spring-boot.version); if it is not 2.7.x, stop and tell the user to upgrade to 2.7.x first.UpgradeSpringBoot_3_5 recipe (or the latest Boot 3.x recipe available).java -version # Need JDK 17+ to run OpenRewrite
mvn -version # Maven 3.8.1+ if using pom.xml
./gradlew --version # If using build.gradle / build.gradle.kts
If target workflow includes UpgradeToJava21, ensure JDK 21 toolchain is available in CI and runtime image.
If missing, guide user to install or offer to create installation script.
pom.xml or build.gradle/build.gradle.kts), Java version, and test commands. Confirm the project is on Spring Boot 2.7.x (from parent or property); if not, stop and ask the user to upgrade to 2.7.x before using this skill../mvnw -q compile test or ./gradlew build). Do not start migration until baseline is green; if there are known failures, document them and get user sign-off before proceeding.main) is already the rollback anchor—no need to create a separate backup branch. Create and switch to a working branch for the migration: git checkout -b upgrade/sb3-<target-version>. If rollback is needed, switch back to the original branch or compare against it.scripts/ directory, passing the target project path: scripts/check.sh <project-dir> (e.g. from workspace root: spring-boot-2-to-3/scripts/check.sh <project-dir>). It captures Boot version hints, javax residue, and Springfox usage.dependency tree, test summary, startup log) under the docs/ directory.eclipse-temurin:11-jdk) so it can be aligned to the target Java version (17 or 21) after the code migration.Use this phase to answer:
javax.* imports?git add and git commit for the recipe-generated changes only (message prefix chore(rewrite):). Do not ask the user to commit.Load references/openrewrite-recipes.md for Maven/Gradle commands and recipe sets.
javax -> jakarta), security config changes, and framework-specific behavior changes.git add and git commit once per topic (e.g. jakarta, then security, httpclient, tests) to keep rollback granular. Execute the commits yourself; do not ask the user to run git.Dockerfile (or container build) to match the target JDK (17+ or 21). Use OpenRewrite rewrite-docker (e.g. Change Docker FROM) or a text-based recipe; see references/openrewrite-recipes.md and references/manual-fix-checklist.md.Load references/manual-fix-checklist.md and execute only relevant sections.
scripts/check.sh again (with the project path) and compare with baseline (e.g. no remaining javax).NoSuchMethodError, ApplicationContext load issues), run targeted triage from references/manual-fix-checklist.md.docs/ (e.g. docs/<yyyymmdd>-upgrade-summary.md) containing: date, original branch (rollback anchor) and working branch, target Boot/Java versions, summary of changes by stage, validation result (compile/test), remaining risks or follow-up items. This gives the user and future readers a single place to see what was done and what to do next.Apply as needed during or after stages 2–4; not a sequential step after validation.
On any failure (compile, test, or runtime): rollback and generate a failure report.
git checkout main) so the user is on the pre-migration state. Prefer reverting topic commits or resetting the working branch before abandoning it; only switch to the original branch if recovery on the working branch is not practical.docs/ (e.g. docs/<yyyymmdd>-upgrade-failure.md) containing: date, branch and commit at failure, stage where it failed (e.g. after OpenRewrite, after manual fix, during test), error summary (compile errors, test failures, or runtime exception), commands run, and suggested next actions (e.g. run recipes in smaller batches, fix a specific dependency, or upgrade to 2.7.x first). This gives the user a clear record of what went wrong and how to proceed.references/openrewrite-recipes.md for incremental recipe sequence).scripts/check.sh before and after migration to compare baseline drift.upgrade/sb3-3.5) for the migration. Do not create a separate backup branch—the original branch is the backup.docs/ (e.g. docs/<yyyymmdd>-upgrade-failure.md) with stage, error summary, and next actions. Do not leave the repo in a broken state without a written report.When using this skill, return:
docs/<yyyymmdd>-upgrade-summary.md). On failure: path to the failure report (e.g. docs/<yyyymmdd>-upgrade-failure.md) and confirmation that rollback was performed.