Ich versuche, Javax Validation mit Spring zu verwenden. Wenn ich meine Anwendung starte, bekomme ich diese merkwürdige Fehlermeldung
%Vor%Ich habe Hibernate-validator-4.0.2 GA.jar in meinem Klassenpfad, der die fehlende Klasse zu haben scheint. Ich benutze auch jdk 6. Was läuft falsch? Ich habe gegoogelt, aber keine Antwort gefunden.
Der Stack-Trace zeigt, dass sich die Hibernate-Validator- und javax.validation
API-JARs beide in Ihrem Klassenpfad befinden, also liegt das Problem woanders.
Der Quellcode für ConfigurationImpl
zeigt, dass er eine Abhängigkeit von SLF4J hat.
Ich nehme an, das ist nicht dein Klassenpfad?
Ich habe es gelöst und dem POM in einem Maven-Projekt folgendes hinzugefügt:
%Vor%Sie können auch die offizielle Referenz einsehen.
JAR-hibernate-validator4.3.1 final.jar Datei - HibernetValidator.java Zeile 41 -
%Vor%Die ConfigurationImpl-Klasse hat einen statischen Initialisierungsblock
%Vor%Die LogFactory-Klasse verweist auf org.jboss.logging.Logger.
Fügen Sie jboss-logging-3.2.0.Final.jar zu den Abhängigkeiten hinzu und Sie sind fertig.
Überprüfen Sie, ob die GAIN-Datei "hibernate-validator-4.0.2" im Verzeichnis WEB-INF / lib Ihrer Webanwendung auf dem Server installiert ist.
Möglicherweise haben Sie widersprüchliche Versionen von hibernate-validator
und validation-api
. Sie können mehr darüber in dieser Ausgabe lesen:
JPA 2.0: Ausnahme für die Verwendung von javax.validation. * Paket in JPA 2.0
Wenn Sie die letzte hibernate-validator
Version verwenden möchten, sollten Sie die validation-api
Abhängigkeit entfernen und einfach die folgende Abhängigkeit für hibernate-validator
hinzufügen:
Tags und Links spring validation