即使添加依赖项后也会出现 javax.validation.NoProviderFoundException 异常

问题描述 投票:0回答:1

我是 Java 和 Maven 新手。我可能错过了一些明显的东西,但我无法弄清楚。

我试图按照以下链接将 javax 验证添加到我的项目中: https://www.baeldung.com/javax-validation

我添加了以下依赖项

      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.1.Final</version>
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>6.0.13.Final</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.el</artifactId>
        <version>3.0.0</version>
      </dependency>

我也尝试过组 ids org.hibernate 和 org.hibernate.validator。

但是我在执行 buildDefaultValidatorFactory() 期间遇到运行时错误:

import javax.validation.Validation;
import javax.validation.Validator;
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();

我收到以下错误

Method threw 'javax.validation.NoProviderFoundException' exception.
Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.

我错过了什么?如果您需要一些关键信息,请告诉我。我已经为此奋斗了几个小时。所以,提前谢谢。

java hibernate maven
1个回答
0
投票

删除 hibernate 和 glassfish 验证。只需保留 javax 一个即可。正确清理您的项目。

然后右键执行project->runas->maven build ->clean install一次。

同时您也可以更新您的项目,点击项目 ->maven>更新项目

© www.soinside.com 2019 - 2024. All rights reserved.