问题描述
|
好的,我正在尝试使验证程序与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>
我尝试加载休眠本身,但这破坏了构建:我正在使用eclipse进行持久化,并且在拖入大量必备库后构建失败。
我认为我应该得到一个更好的策略,而不是仅仅away死存储库。
只是要清楚:我收到错误消息:
java.lang.NoClassDefFoundError:无法初始化类org.hibernate.validator.engine.ConfigurationImpl
这应该是在hibernate-validator依赖项中,因此行为不如我期望的那样。
解决方法
您在类路径上是否有slf4j-api(这应该由HV拉入,但只是为了确保)?
NoClassDefFoundError并不表示ConfigurationImpl不可用,但无法加载(通常是由于静态初始化程序中的问题或由于加载的类的导入而导致的)。
关于使用注释处理器的附带说明:除了将其添加为项目依赖项之外,还可以通过Maven注释处理器插件使用它。这样,您就不会在项目中意外地从中导入类。有关设置的详细信息,请参见《 Hibernate Validator参考指南》。
,OP可能将不再需要它,但也许会有其他人需要。
Hibernate Validator 4.3 Final和slf4j 1.5.11的组合出现了类似的问题
最终,我找到了愿意一起工作的一对版本:
-Hibernate Validator Final 4.2
-slf4j 1.6.6