2011-10-03 4 views
0

Salut J'essaie de copier le squelette de démarrage rapide de Tapestry 5.2 au projet Web dynamique dans Eclipse. Dans le projet de démarrage rapide, je peux générer le fichier de la guerre et l'exécuter dans Tomcat, mais lorsque je tente de copier le projet avec les dépendances à un nouveau projet Web dynamique, il lancer une exception:Comment configurer le validateur Hibernate dans Tapestry?

Causée par: java.lang .ClassNotFoundException: javax.validation.ValidatorFactory

Je l'ai fait copier le validateur mise en veille prolongée sur le Web-INF/lib, mais la tapisserie ne peut pas le trouver. Comment le définir dans Tapisserie?

Répondre

0

Je ne crois pas que cela ait quelque chose à voir avec la tapisserie ou l'hibernation. Il vous manque javax.validation.ValidatorFactory sur votre chemin de classe. Cette classe est fournie avec JEE6, qui dans votre cas est probablement fourni par votre version Tomcat mais pas par votre projet Web Eclipse.

Vous devrez indiquer à votre projet Web d'utiliser JEE6 ou ajouter le fichier manuellement au classpath des projets.

+0

Salut, mais ce problème se produit juste quand je l'exécute dans tomcat. Tomcat est déjà dans mon projet Web. – Felipe

+0

J'ai trouvé ce http://tapestry.apache.org/bean-validation.html et ceci est l'implémentation de référence http://www.hibernate.org/subprojects/validator.html mais comment configurer le validateur Hibernate dans Tapestry? – Felipe

+0

Je suis un peu confus comme dans votre question, vous mentionnez que cela fonctionne dans Tomcat. Pouvez-vous expliquer votre configuration complète? Exécutez-vous Tomcat depuis Eclipse ou le faites-vous autonome? Quand voyez-vous le problème et quand ne voyez-vous pas le problème? Pourtant, votre problème est que vous n'avez pas javax.validation.ValidatorFactory sur votre chemin de classe dans la situation défaillante. Tapestry, ni Hibernate chargeront ceci pour vous car il devrait être fourni par votre environnement JEE. – joostschouten

0

Voici une façon que j'ai trouvée, j'espère que cela fonctionne pour vous. (A) Je cours la tapisserie de l'éclipse d'éclipse.

(b) i obtenu une copie de la tapisserie bin-5.2.6.tar.gz

(c) stockés tous les fichiers présents dans le dossier lib de la distribution ci-dessus dans un dossier (par exemple foo) référencé par classpath

(d) ensuite obtenu les données suivantes provenant de divers endroits sur la bande un eux stocké dans le même dossier (foo)

(1) javax.validation-1.0.0.GA.jar (à partir de http://www.java2s.com/Code/Jar/j/Downloadjavaxvalidation100GAjar.htm)
(2) hibernate-validator-4.2.0.Final et hibernate-validator-annotation-processor-4.2.0.Final

(e) a redémarré eclipse - et cela a fonctionné!

Questions connexes