gradle java.lang.NoSuchMethodError:org.hibernate.validator.internal.engine.constraintvalidation.约束验证器上下文实现

yqyhoc1h  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(122)

在我的自定义约束验证器的代码中,我使用这样的构造函数

new ConstraintValidatorContextImpl(
        new ArrayList<String>(),
        DefaultTimeProvider.getInstance(),
        PathImpl.createPathFromString(param),
        violation.getConstraintDescriptor());

字符串
在运行时,这将导致错误

java.lang.NoSuchMethodError: org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorContextImpl.<init>(Ljava/util/List;Lorg/hibernate/validator/spi/time/TimeProvider;Lorg/hibernate/validator/internal/engine/path/PathImpl;Ljavax/validation/metadata/ConstraintDescriptor;)


我在build.gradle中的依赖项中添加了下面一行

runtime 'org.hibernate:hibernate-validator:5.2.2.Final'


但这并没有帮助。

ozxc1zmp

ozxc1zmp1#

不需要构造函数,必须使用工厂构造ConstraintValidatorContextImpl。
这就是解决方案:

context.buildConstraintViolationWithTemplate("message").addPropertyNode("field")‌​.addConstraintViolation();

字符串

相关问题