diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml
index 3c1830015..c24c121b1 100644
--- a/.github/workflows/gradle-build.yml
+++ b/.github/workflows/gradle-build.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ '25' ]
+ java: [ '17' ]
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml
index 740b1129c..a1ec4dab7 100644
--- a/.github/workflows/maven-build.yml
+++ b/.github/workflows/maven-build.yml
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ '25' ]
+ java: [ '17' ]
steps:
- uses: actions/checkout@v4
diff --git a/.mvn/jvm.config b/.mvn/jvm.config
deleted file mode 100644
index 32599cefe..000000000
--- a/.mvn/jvm.config
+++ /dev/null
@@ -1,10 +0,0 @@
---add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
---add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
---add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
diff --git a/.sdkmanrc b/.sdkmanrc
deleted file mode 100644
index 2b4236b43..000000000
--- a/.sdkmanrc
+++ /dev/null
@@ -1,3 +0,0 @@
-# Enable auto-env through the sdkman_auto_env config
-# Add key=value pairs of SDKs to use below
-java=25-librca
diff --git a/README.md b/README.md
index e792c0dab..a1c65baff 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ See the presentation here:
## Run Petclinic locally
Spring Petclinic is a [Spring Boot](https://spring.io/guides/gs/spring-boot) application built using [Maven](https://spring.io/guides/gs/maven/) or [Gradle](https://spring.io/guides/gs/gradle/).
-Java 25 or later is required for the build, but the application can run with Java 17 or newer:
+Java 17 or later is required for the build, and the application can run with Java 17 or newer:
```bash
git clone https://github.com/spring-projects/spring-petclinic.git
diff --git a/build.gradle b/build.gradle
index f57b21dc1..046257d29 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,6 @@ plugins {
id 'org.cyclonedx.bom' version '3.0.2'
id 'io.spring.javaformat' version '0.0.47'
id "io.spring.nohttp" version "0.0.11"
- id 'net.ltgt.errorprone' version '4.3.0'
}
gradle.startParameter.excludedTaskNames += [ "checkFormatAot", "checkFormatAotTest" ]
@@ -17,7 +16,7 @@ version = '4.0.0-SNAPSHOT'
java {
toolchain {
- languageVersion = JavaLanguageVersion.of(25)
+ languageVersion = JavaLanguageVersion.of(17)
}
}
@@ -30,14 +29,12 @@ ext.springJavaformatCheckstyleVersion = "0.0.47"
ext.webjarsLocatorLiteVersion = "1.1.2"
ext.webjarsFontawesomeVersion = "4.7.0"
ext.webjarsBootstrapVersion = "5.3.8"
-ext.errorProneVersion = "2.42.0"
-ext.nullAwayVersion = "0.12.10"
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
- implementation 'org.springframework.boot:spring-boot-starter-webmvc'
+ implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'javax.cache:cache-api'
implementation 'jakarta.xml.bind:jakarta.xml.bind-api'
@@ -59,8 +56,6 @@ dependencies {
testImplementation 'org.testcontainers:testcontainers-mysql'
checkstyle "io.spring.javaformat:spring-javaformat-checkstyle:${springJavaformatCheckstyleVersion}"
checkstyle "com.puppycrawl.tools:checkstyle:${checkstyleVersion}"
- errorprone "com.google.errorprone:error_prone_core:${errorProneVersion}"
- errorprone "com.uber.nullaway:nullaway:${nullAwayVersion}"
}
tasks.named('test') {
@@ -77,21 +72,6 @@ checkstyleNohttp {
configFile = file('src/checkstyle/nohttp-checkstyle.xml')
}
-tasks.withType(JavaCompile).configureEach {
- options.release = 17
- options.errorprone {
- disableAllChecks = true
- }
- if (name.equals("compileJava")) {
- options.errorprone {
- error("NullAway")
- option("NullAway:OnlyNullMarked", "true")
- option("NullAway:CustomContractAnnotations", "org.springframework.lang.Contract")
- option("NullAway:JSpecifyMode", "true")
- }
- }
-}
-
tasks.named("formatMain").configure { dependsOn("checkstyleMain") }
tasks.named("formatMain").configure { dependsOn("checkstyleNohttp") }
diff --git a/pom.xml b/pom.xml
index d512e01ce..fbf2a8993 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,12 +18,11 @@
- 25
- 17
+ 17
UTF-8
UTF-8
- 2025-11-22T16:15:42Z
+ 2024-11-28T14:37:52Z
1.1.2
@@ -31,14 +30,13 @@
4.7.0
12.1.2
- 2.42.0
0.8.14
0.3.4
1.0.0
3.6.0
0.0.11
- 0.12.10
0.0.47
+
@@ -57,7 +55,7 @@
org.springframework.boot
- spring-boot-starter-webmvc
+ spring-boot-starter-web
org.springframework.boot
@@ -67,6 +65,16 @@
org.springframework.boot
spring-boot-starter-thymeleaf
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-restclient
+ test
+
@@ -115,9 +123,8 @@
org.springframework.boot
spring-boot-devtools
- true
+ test
-
org.springframework.boot
spring-boot-starter-data-jpa-test
@@ -284,38 +291,6 @@
false
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- default-compile
- compile
-
- compile
-
-
-
- -XDcompilePolicy=simple
- --should-stop=ifError=FLOW
- -Xplugin:ErrorProne -XepDisableAllChecks -Xep:NullAway:ERROR -XepOpt:NullAway:OnlyNullMarked=true -XepOpt:NullAway:CustomContractAnnotations=org.springframework.lang.Contract -XepOpt:NullAway:JSpecifyMode=true
-
-
-
- com.google.errorprone
- error_prone_core
- ${error-prone.version}
-
-
- com.uber.nullaway
- nullaway
- ${nullaway.version}
-
-
-
-
-
-