好的,我正在尝试使用jsp表单的验证器..刚刚开始使用maven,所以它有点新...找到我应该为上面选择哪个存储库的最佳方法是什么类?我已经有以下条目进行验证:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>4.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
</dependency>
我尝试加载hibernate本身,但这破坏了构建:我使用eclipse进行持久化,并且在拖入大量必备库之后构建失败。
我认为我应该得到一个更好的策略,而不仅仅是用存储库刺走......
要明确:我收到了错误:
java.lang.NoClassDefFoundError:无法初始化类org.hibernate.validator.engine.ConfigurationImpl
这应该在hibernate-validator依赖项中,所以不要像我期望的那样。
答案 0 :(得分:5)
你是否在类路径上有slf4j-api(这应该由HV引入,但只是为了确保)?
NoClassDefFoundError并不意味着ConfigurationImpl不可用,但无法加载(通常是由于静态初始化程序中的问题或导入的类不可用的导入)。
关于使用注释处理器的附注:不是将其添加为项目依赖项,您也可以通过Maven注释处理器插件使用它。这样你就不会在项目中意外地从中导入类。 Hibernate Validator reference guide中详细描述了该设置。
答案 1 :(得分:3)
OP可能不再需要它,但也许其他人会。
我在Hibernate Validator 4.3 Final和slf4j 1.5.11的组合中遇到了类似的问题 最后我发现了一对愿意合作的版本: -Hibernate Validator Final 4.2 -slf4j 1.6.6