获取NoProviderFoundException当尝试实现"Hibernate Validator"时

Vah*_*yan 6 java hibernate-validator gradle

我得到"无法创建配置,因为找不到Bean验证提供程序.将类似Hibernate Validator(RI)的提供程序添加到类路径中." 尝试实现我的实体验证时出现此错误(ProductInstance)

这是用法

try {
        Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
        for (ConstraintViolation<ProductInstance> violation : validator.validate(product)) {
            genActResponse.addErrorMessage(violation.getMessage());
            genActResponse.addFailure();
            return genActResponse;
        }
    } catch (Exception e) {
        throw e;
    }
Run Code Online (Sandbox Code Playgroud)

这是gradle.build中的Dependency

dependencies {
compile group: 'org.hibernate', name: 'hibernate-validator-annotation-processor', version: '6.0.2.Final'
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

2018-12-03 20:22:12,420 WebErrorHandler                     ERROR - General exception
javax.validation.NoProviderFoundException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
    at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:291)
    at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:103)
    at com.helpsystems.incn.access.service.DefaultProductInstanceService.updateProduct(DefaultProductInstanceService.java:200)
    at com.helpsystems.incn.server.ProductInstanceController.updateProduct(ProductInstanceController.java:95)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
Run Code Online (Sandbox Code Playgroud)

Zeu*_*sox 4

您需要添加 Hibernate 验证器。添加以下内容之一:

对于 Gradle,添加:

compile group: 'org.hibernate', name: 'hibernate-validator', version: '6.0.13.Final'
Run Code Online (Sandbox Code Playgroud)

对于 Maven,添加:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.13.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

您可以根据其他依赖版本调整版本