org.hibernate.validator.engine.ConfigurationImpl的来源

时间:2011-05-25 19:10:38

标签: maven-2 spring-mvc bean-validation hibernate-validator

好的,我正在尝试使用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依赖项中,所以不要像我期望的那样。

2 个答案:

答案 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