Obtention de l'exception javax.validation.NoProviderFoundException même après l'ajout des dépendances

Nov 29 2020

Je suis nouveau sur Java et maven. Il me manque peut-être quelque chose d'évident, mais je ne suis pas en mesure de le comprendre.

J'essayais d'ajouter des validations javax à mon projet en suivant le lien: https://www.baeldung.com/javax-validation

Et j'ai ajouté les dépendances suivantes

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

J'ai essayé les identifiants de groupe org.hibernate et org.hibernate.validator également.

Mais j'obtenais une erreur d'exécution lors de l'exécution de buildDefaultValidatorFactory () de:

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

J'obtenais l'erreur suivante

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'est-ce que je rate? Faites-moi savoir si vous avez besoin d'informations clés. Je me bats avec ça depuis des heures. Alors merci d'avance.

Réponses

KarmaJ Nov 29 2020 at 22:26

Supprimez la validation d'hibernation et de glassfish. Gardez simplement javax un. Nettoyez correctement votre projet.

Ensuite, faites à droite project-> runas-> maven build -> clean install une fois.

En même temps, vous pouvez mettre à jour votre projet en cliquant également sur projet -> maven> mettre à jour le projet