【问题标题】:Getting javax.validation.NoProviderFoundException exception even after adding the dependencies即使在添加依赖项后也得到 javax.validation.NoProviderFoundException 异常
【发布时间】:2021-03-11 16:08:55
【问题描述】:

我是 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>

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

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

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】:

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

    然后正确的做project->runas->maven build->clean install一次。

    同时你可以更新你的项目也可以点击project ->maven>update project

    【讨论】:

    • 我只有 javax。但是当我不得不使用验证器时(Validator validator = Validation.buildDefaultValidatorFactory().getValidator();)。我添加了休眠(跟随stackoverflow.com/questions/36329001/…)。但仍然收到错误。
    猜你喜欢
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2015-02-28
    • 2014-01-13
    相关资源
    最近更新 更多