我们正在迁移到 Spring Boot 3,并随之迁移到 jakarta-ee。
我遵循了https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee,但我不确定如何继续解决以下问题:
我们的用例:
javax.validation.constraints.NotNull
注释想要搬到 jakarta-ee 的客户仍如何使用
javax.validation.constraints.NotNull
?
javax 无法与 boot 3 一起使用,只需切换到 jakarta.validation.constraints.NotNull,Spring 6 ( Boot 3 )、Tomcat 10 和 Hibernate Validator 的全部目的就是淘汰 javax 包并用 jakarta 替换它们。这些库的较新版本与 javax 包不兼容。
即使从您在问题中共享的链接中也显示:“如果您应该始终使用 jakarta.servlet:jakarta.servlet-api 而不是 javax.servlet:javax.servlet-api。 除了依赖坐标更改之外,Jakarta EE 现在使用 jakarta 包而不是 javax。更新依赖项后,您可能会发现项目中的>>导入语句需要更新<<。”
验证在较新版本的 Hibernate Validator 中的工作方式相同,尝试保留已删除的注释版本是没有意义的,该版本不再存在或不兼容。
添加“spring-boot-starter-validation”解决了我的问题。 您可以在https://github.com/springdoc/springdoc-openapi/issues/1979找到它。