2010-01-12 122 views
1

我想用Spring 3.x验证。休眠验证和Spring 3.x

我已经注释的方法场@Valid,加<mvc:annotation-driven/>common.xml,并在lib/目录添加Hibernate-Validator.jar,但我不断收到这样的信息:"Hibernate validator not found: ignoring"

我错过了什么吗?

[Version:15] Hibernate Annotations 3.4.0.GA 
    [Environment:543] Hibernate 3.3.0.SP1 
    [Environment:576] hibernate.properties not found 
    [Environment:709] Bytecode provider name : javassist 
    [Environment:627] using JDK 1.4 java.sql.Timestamp handling 
    [Version:14] Hibernate Commons Annotations 3.1.0.GA 
    [AnnotationConfiguration:369] Hibernate Validator not found: ignoring 
+0

你有哪个版本的Hibernate-validator? – Bozho 2010-01-12 15:18:01

+0

嗨,我有路径上的那个JAR:hibernate-validator-4.0.2.GA.jar – 2010-01-12 16:08:40

回答

0

最后,我找到了答案,在Spring ROO Issue Tracker

它是在Hibernate中的一个错误就是 已知的Hibernate 3.5

予以纠正我在春天也已经此消息项目,但验证仍然有效。

1

这意味着,Hibernate无法找到类org.hibernate.validator.ClassValidatororg.hibernate.validator.MessageInterpolator,暗示有一个问题与库版本classpath中。

我看你使用以下版本:

  • Hibernate注解3.4.0.GA
  • 休眠3.3.0.SP1
  • 休眠共享注释3.1.0.GA

而你的JAR是hibernate-validator-4.0.2.GA.jar。你确定所有这些版本都相互兼容吗?

请尝试下载不同Hibernate组件的最新版本,将它们放入您的类路径中,并查看错误是否仍然存在。

+0

嗨,谢谢你的回复!嗯..我找不到你命名的课程。他们应该在哪个JAR中?否则,我似乎拥有所有最新版本:hibernate-validator-4.0.2.GA.jar,hibernate-annotations-3.4.0.GA和核心distrib:hibernate-distribution-3.3.2.GA。 – 2010-01-12 16:42:33

+0

奇怪的是,它仍然在启动过程中晚些时候找到验证程序: [SchemaUpdate:183]架构更新完成 [版本:56] Hibernate验证器4.0.2.GA [DefaultTraversableResolver:89]实例化一个实例org.hibernate.validator.engine.resolver.JPATraversableResolver。 – 2010-01-12 16:43:57

+0

上述类应该在hibernate-validator * .jar中。你是否部署在应用服务器中?也许它带有一个不兼容的Hibernate版本。只是一个猜测。 – torbengee 2010-01-12 19:06:50