簡體   English   中英

javax.validation.NoProviderFoundException:無法創建配置,因為找不到 Bean 驗證提供程序

[英]javax.validation.NoProviderFoundException: Unable to create a Configuration, because no Bean Validation provider could be found

即使已將其添加到類路徑中,也找不到 Hibernate Bean Validator。

我在 Spring 引導中有一個簡單的 web 應用程序。 我正在嘗試使用這個簡單的 function 測試 Hibernate 驗證器:

public void validateUser(User user) {
   ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
   Validator validator = factory.getValidator();
   Set<ConstraintViolation<User>> violations = validator.validate(user);
}

但是它拋出了一個異常: javax.validation.NoProviderFoundException: Unable to create a Configuration, because no Bean Validation provider can be found。 將 Hibernate Validator (RI) 之類的提供程序添加到您的類路徑中。

我嘗試使用不同的庫,但它們都不起作用。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>7.0.1.Final</version>
</dependency>

我正在使用 Java 17。

對於 Spring 引導項目,您需要添加spring-boot-starter-validation啟動器依賴項。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

所有 Spring Boot 啟動的項目都可以在官方文檔中找到: spring.io

在向pom.xml文件添加新的依賴項后,我建議運行mwnv clean package (或mvn clean package以獲取依賴項並構建干凈的項目)。

此外,對於引導/生成 Spring 引導項目,您可能需要使用Spring Initializr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM