Upgrade from Gradle 8.x to Gradle 9.x with plugin compatibility updates. Required for Java 25 support. Includes plugin version mappings and migration patterns.
Upgrade from Gradle 8.x to Gradle 9.x with all required plugin updates.
📚 references/ - Detailed documentation
| Component | Gradle 8.x | Gradle 9.x | Notes |
|---|---|---|---|
| Gradle | 8.14.3 | 9.2.1 | Recommended for all projects |
| Lombok Plugin | 8.14.2 | 9.2.0 | Freefair for Gradle 9.2.1 |
| Spotless | 6.x | 8.1.0 | Major bump |
| SonarQube | 6.x | 7.2.2.6593 | Major bump |
| Develocity | 0.1.x | 0.2.8 | Compatibility |
| Flyway | 10.x | 11.19.0 | If used |
| jOOQ | 9.x | 10.1.1 | If used |
| Protobuf | 0.9.x | 0.9.6 | Gradle 9 compatible |
./gradlew wrapper --gradle-version=9.2.1
# gradle/libs.versions.toml
[plugins]
lombok = "io.freefair.lombok:9.2.0"
spotless = "com.diffplug.spotless:8.1.0"
sonarqube = "org.sonarqube:7.2.2.6593"
protobuf = "com.google.protobuf:0.9.6"
// settings.gradle
plugins {
id 'bitso.develocity' version "${develocityPluginVersion}" // 0.2.8
id 'org.sonarqube' version "${sonarqubePluginVersion}" // 7.2.2.6593
}
Required for JUnit 5.11+ with Gradle 9:
subprojects {
plugins.withType(JavaPlugin).configureEach {
dependencies {
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
}
}
./gradlew clean build test
| Reference | Content |
|---|---|
| references/plugin-compatibility.md | Plugin version mappings and known issues |
# Old (Gradle 8.x)
lombok = "io.freefair.lombok:8.14.2"
# New (Gradle 9.x)
lombok = "io.freefair.lombok:9.2.0"
Requires Lombok 1.18.42 for Java 25 bytecode support:
lombok {
version = libs.versions.lombok.get() // 1.18.42
}
# Old (Gradle 8.x)
spotless = "com.diffplug.spotless:6.x"
# New (Gradle 9.x)
spotless = "com.diffplug.spotless:8.1.0"
For Java 25 formatting, use palantir-java-format 2.74.0.
# Old (Gradle 8.x)
sonarqube = "org.sonarqube:6.x"
# New (Gradle 9.x)
sonarqube = "org.sonarqube:7.2.2.6593"
spring-boot-3-5 - Upgrade Spring Boot firstjava-25 - Java 25 requires Gradle 9This skill is referenced by:
/prepare-to-gradle-9 - Prepare for Gradle 9 upgrade/prepare-to-java-25 - Java 25 preparation (requires Gradle 9)