web-dev-qa-db-fra.com

javax.validation.ValidationException: impossible de trouver le fournisseur par défaut

Je travaille actuellement sur l'application Web Spring MVC et j'essaie de relier la validation à l'aide de l'annotation @Valid. Lorsque je lance l'application, j'obtiens l'exception suivante:

javax.validation.ValidationException: Unable to find a default provider

J'ai Hibernate Validator 3.1.0.GA sur le chemin d'accès aux classes ainsi que la validation javax 1.0.0.GA, Hibernate Core 3.3.1.GA et Hibernate Annotations 3.4.0.GA.

Existe-t-il une incompatibilité dans ces versions que je ne vois pas ou quelqu'un peut-il penser à une raison quelconque pour laquelle je continue à recevoir cette exception avec Hibernate Validator sur le chemin de classe?

À votre santé,

Casquettes

32
Caps

Hibernate Validator 3.1 n'est pas un fournisseur JSR303. Vous devez mettre à niveau vers Hibernate Validator 4 ou une version ultérieure.

26
Affe

Cela m'est arrivé sans Hibernate.

Courir très bien sur mon PC, cela ne fonctionnait pas sur mon serveur EC2 Linux.

La raison était une existence de fichier validation-api-1.0.0.GA.jar sous /usr/share/Tomcat/lib.

Une fois que validation-api-1.0.0.GA.jar a été supprimé, cela a très bien fonctionné.

23
Kof

Dans mon cas, j'ai eu le même problème, mais c'était parce que le fichier jar de la version 4.1.8 de hibernate-core était corrompu. Je suis passé à la version 4.1.6.Final et ça a commencé à fonctionner. J'utilisais les dépôts STS et Spring.

J'espère que ça aide quelqu'un.

2
Damian

J'ai reçu l'erreur suivante: 

L'appel de la méthode init a échoué; l'exception imbriquée est javax.validation.ValidationException: impossible d'obtenir les résolveurs de fournisseur disponibles

J'ai découvert que, dans mon répertoire WEB-INF/lib, j'avais deux versions de Validator.class présentes dans les deux fichiers jar suivants:

  • org.springframework.context-3.1.1.RELEASE.jar
  • com.springsource.javax.validation-1.0.0.GA.jar

J'ai supprimé le fichier com.springsource.javax.validation-1.0.0.GA.jar du répertoire WEB-INF/lib car il est plus ancien et n'est plus pris en charge. Après cela, mon application a parfaitement fonctionné. J'ai appris dans d'autres publications que mon problème avait quelque chose à voir avec les versions dupliquées du même fichier sur le classpath. J'ai découvert quel fichier était à l'origine du problème après avoir lu Validation Spring 3

0
Armanda K.

Dans la même situation, je mets à jour ma version de Jar uniquement pour les annotations de hibernate-annotation et hibernate-common-annotation en annotations de Hibernate4 énumérées ci-dessous ..

1-hibernate-commons-annotations-4.0.5.Final 2-hibernate-validator-4.2.0.Final

J'espère que cela fonctionnera pour vous aussi.

0
pintu