feat(java): support useJackson3 for rest-assured library

Merged
AU
24d ago
+23481-8

Honors useJackson3=true for generatorName=java with library=rest-assured, which previously threw.

  • JacksonObjectMapper extends Jackson3Mapper with a Jackson3ObjectMapperFactory, built through JsonMapper.builder(); uses JsonNullableJackson3Module when openApiNullable is on.
  • RFC3339InstantDeserializer and RFC3339JavaTimeModule are not generated (jsr310 is in Jackson 3 databind). Joda is not supported on this path.
  • pom.xml, build.gradle and build.sbt switch to the tools.jackson BOM, rest-assured 6.0.1 and Java 17. Annotations stay on com.fasterxml.jackson.annotation.
  • Jackson 2 output is unchanged; regenerating rest-assured and rest-assured-jackson produces no diff.

Tests: new JavaClientCodegenTest#testRestAssuredWithJackson3; the new rest-assured-jackson3 sample compiles with mvn compile.

Closes #25076

PR checklist

  • Read the contribution guidelines.
  • Built the project, regenerated samples and docs (bin/generate-samples.sh, export_docs_generators.sh) and committed all changed files.

Summary by cubic

Honors useJackson3=true for generatorName=java with library=rest-assured, which previously threw.

  • JacksonObjectMapper extends Jackson3Mapper and uses a Jackson3ObjectMapperFactory built through JsonMapper.builder(), with JsonNullableJackson3Module when openApiNullable is on.
  • The pom, gradle, and sbt templates switch to the tools.jackson BOM, rest-assured 6.0.1, and require Java 17+; Joda time is not supported on this path.
  • Jackson 2 output is unchanged; regenerating existing rest-assured samples produces no diff, and the new rest-assured-jackson3 sample compiles with mvn compile.

Closes #25076.