diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java
index 26f1b6bd3abe..a6d2c0a94e82 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java
@@ -287,7 +287,7 @@ public JavaClientCodegen() {
cliOptions.add(CliOption.newBoolean(USE_JSPECIFY, "Use Jspecify for null checks. Only supported for " + JSPECIFY_SUPPORTED_LIBRARIES, useJspecify));
supportedLibraries.put(JERSEY2, "HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.17.1");
- supportedLibraries.put(JERSEY3, "HTTP client: Jersey client 3.1.1. JSON processing: Jackson 2.17.1");
+ supportedLibraries.put(JERSEY3, "HTTP client: Jersey client 3.1.1. JSON processing: Jackson 2.17.1. Use `useSpringBoot4=true` to align dependency versions (jakarta.annotation 3.0.0, jakarta.validation 3.1.1) and Java target (17) with Spring Boot 4.x.");
supportedLibraries.put(FEIGN, "HTTP client: OpenFeign 13.2.1. JSON processing: Jackson 2.17.1 or Gson 2.10.1");
supportedLibraries.put(FEIGN_HC5, "HTTP client: OpenFeign 13.2.1/HttpClient5 5.4.2. JSON processing: Jackson 2.17.1 or Gson 2.10.1");
supportedLibraries.put(OKHTTP_GSON, "[DEFAULT] HTTP client: OkHttp 4.11.0. JSON processing: Gson 2.10.1. Enable Parcelable models on Android using '-DparcelableModel=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.");
diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache
index 1ba060915648..81d3f091ed07 100644
--- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache
+++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/build.gradle.mustache
@@ -33,8 +33,14 @@ if(hasProperty('target') && target == 'android') {
targetSdkVersion 25
}
compileOptions {
+ {{#useSpringBoot4}}
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ {{/useSpringBoot4}}
+ {{^useSpringBoot4}}
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
+ {{/useSpringBoot4}}
}
// Rename the aar correctly
@@ -78,8 +84,14 @@ if(hasProperty('target') && target == 'android') {
apply plugin: 'java'
apply plugin: 'maven-publish'
+ {{#useSpringBoot4}}
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ {{/useSpringBoot4}}
+ {{^useSpringBoot4}}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
+ {{/useSpringBoot4}}
publishing {
publications {
@@ -105,9 +117,19 @@ ext {
{{#openApiNullable}}
jackson_databind_nullable_version = "0.2.10"
{{/openApiNullable}}
+ {{#useSpringBoot4}}
+ jakarta_annotation_version = "3.0.0"
+ {{/useSpringBoot4}}
+ {{^useSpringBoot4}}
jakarta_annotation_version = "2.1.0"
+ {{/useSpringBoot4}}
{{#useBeanValidation}}
+ {{#useSpringBoot4}}
+ bean_validation_version = "3.1.1"
+ {{/useSpringBoot4}}
+ {{^useSpringBoot4}}
bean_validation_version = "3.0.2"
+ {{/useSpringBoot4}}
{{/useBeanValidation}}
jersey_version = "3.0.4"
junit_version = "5.8.2"
diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache
index ba0bb943e056..c05ff89f2351 100644
--- a/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache
+++ b/modules/openapi-generator/src/main/resources/Java/libraries/jersey3/pom.mustache
@@ -142,8 +142,14 @@
maven-compiler-plugin
3.10.1
+ {{#useSpringBoot4}}
+ 17
+ 17
+ {{/useSpringBoot4}}
+ {{^useSpringBoot4}}
1.8
1.8
+ {{/useSpringBoot4}}
true
128m
512m
@@ -167,7 +173,12 @@
none
+ {{#useSpringBoot4}}
+ 17
+ {{/useSpringBoot4}}
+ {{^useSpringBoot4}}
1.8
+ {{/useSpringBoot4}}
http.response.details
@@ -409,6 +420,11 @@
2.21
2.21.1
0.2.10
+ {{#useSpringBoot4}}
+ 3.0.0
+ 3.1.1
+ {{/useSpringBoot4}}
+ {{^useSpringBoot4}}
{{#useJakartaEe}}
2.1.1
3.0.2
@@ -417,6 +433,7 @@
1.3.5
2.0.2
{{/useJakartaEe}}
+ {{/useSpringBoot4}}
5.10.0
{{#hasHttpSignatureMethods}}
1.8