Obteniendo la excepción javax.validation.NoProviderFoundException incluso después de agregar las dependencias

Nov 29 2020

Soy nuevo en Java y maven. Puede que me esté perdiendo algo obvio, pero no puedo resolverlo.

Estaba tratando de agregar validaciones de javax a mi proyecto siguiendo el enlace: https://www.baeldung.com/javax-validation

Y he agregado las siguientes dependencias

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

También he probado los identificadores de grupo org.hibernate y org.hibernate.validator.

Pero recibí un error de tiempo de ejecución durante la ejecución de buildDefaultValidatorFactory () de:

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

Recibía el siguiente error

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.

¿Qué me estoy perdiendo? Avísame si necesitas información clave. He estado luchando con esto durante horas. Entonces, gracias de antemano.

Respuestas

KarmaJ Nov 29 2020 at 22:26

Elimina la validación de hibernación y pez cristal. Solo mantén javax uno. Limpia tu proyecto correctamente.

Luego a la derecha haz project-> runas-> maven build -> clean install una vez.

Al mismo tiempo, puede actualizar su proyecto, también haga clic en proyecto -> maven> actualizar proyecto