Spring Boot 4.1
When upgrading to Spring Boot 4.1, refer to the Spring Boot 4.1 Release Notes to find out about newly introduced APIs, deprecated APIs, and information about breaking changes.
The io.arconia.rewrite.spring.boot4.UpgradeSpringBoot_4_1 recipe automates most of the changes introduced in Spring Boot 4.1. It also chains the Spring Boot 4.0 upgrade recipe, so you can apply it to projects that are still on 3.x.
The recipe will:
-
Apply the full Spring Boot 4.0 upgrade as a prerequisite (which itself chains Spring Boot 3.5).
-
Upgrade all
org.springframework.bootdependencies, thespring-boot-starter-parentMaven parent, and the Spring Boot Gradle and Maven plugins to the 4.1.x release line. -
Rename Spring Boot configuration properties to match the new property names.
-
Upgrade the GraalVM Native Build Tools plugin to 1.1.x.
Run the recipe
You can apply this recipe with any OpenRewrite-compatible tool. The tabs below show three of them: the Arconia CLI, the OpenRewrite Gradle plugin, and the OpenRewrite Maven plugin. See Running Recipes for a comparison of when to pick each one.
-
Arconia CLI
-
Gradle
-
Maven
arconia update spring-boot --to-version=4.1
First, create an init.gradle file in your project root with the following content.
initscript {
repositories {
maven { url "https://plugins.gradle.org/m2" }
}
dependencies {
classpath("org.openrewrite:plugin:latest.release")
}
}
rootProject {
plugins.apply(org.openrewrite.gradle.RewritePlugin)
dependencies {
rewrite("io.arconia.migrations:rewrite-spring:latest.release")
}
afterEvaluate {
if (repositories.isEmpty()) {
repositories {
mavenCentral()
}
}
}
configurations.named("rewrite") {
canBeConsumed = false
}
}
Then, run the following command.
./gradlew rewriteRun \
--init-script init.gradle \
-DactiveRecipe=io.arconia.rewrite.spring.boot4.UpgradeSpringBoot_4_1
You can remove the init.gradle file afterwards.
./mvnw -U org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.recipeArtifactCoordinates=io.arconia.migrations:rewrite-spring:LATEST \
-Drewrite.activeRecipes=io.arconia.rewrite.spring.boot4.UpgradeSpringBoot_4_1