You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Wildfly BOM引入的Hibernate Validator不支持国别特定约束?

问题分析与解决

核心原因

Wildfly的wildfly-jakartaee8-with-tools BOM的作用是对齐Jakarta EE 8规范的依赖版本,其中导入的Hibernate Validator仅包含符合Jakarta Bean Validation 2.0规范的核心功能。而@CPF这类国别特定的校验注解属于Hibernate Validator的非规范扩展模块,并不在Jakarta EE规范要求的范围内,因此Wildfly BOM不会自动引入该扩展依赖。

直白点说:Jakarta Bean Validation只定义了通用校验注解(如@NotBlank),地域相关的扩展约束是Hibernate Validator额外提供的增值功能,不属于规范强制内容,所以BOM不会默认包含。

解决步骤

要使用@CPF这类注解,需在POM中单独添加Hibernate Validator的扩展依赖:

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator-constraints</artifactId>
    <!-- 版本需与Wildfly BOM中管理的Hibernate Validator版本一致 -->
    <version>${hibernate.validator.version}</version>
</dependency>

你可以通过以下方式确认对应版本:

  • 查看Wildfly BOM源码,找到hibernate-validator的版本定义
  • 执行Maven命令 mvn dependency:tree,从依赖树中提取核心Hibernate Validator的版本号

部署到Wildfly容器时,无需设置provided scope(容器未内置该扩展模块),保持默认的compile scope即可,让扩展包随应用一起部署。

内容的提问来源于stack exchange,提问作者Kauan Mocelin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:15:04