尝试在JBoss 5.1中使用hibernate 3.4,但获取javax.validation.ValidationException:无法找到默认提供程序

时间:2010-10-27 00:34:01

标签: hibernate spring jboss spring-roo hibernate-validator

2 个答案:

答案 0 :(得分:1)

  

事情是JBoss有自己的Hibernate版本,它位于/ common / lib,而我不想使用JBoss提供的版本。

我认为推荐的方法是将您想要在应用程序中使用的lib捆绑在一起,并使用带有以下内容的jboss-web.xml将JBoss配置为首先从您的应用程序加载jar(参见{{3 }}):

<jboss-web>
   <class-loading java2ClassLoadingCompliance="false">
    <loader-repository>
        unique.packege.name:archive=your_project.war
        <loader-repository-config>
            java2ParentDelegation=false
        </loader-repository-config>
    </loader-repository>
   </class-loading>
</jboss-web>

我在使用Bean验证时自己没有对此进行过测试,但用户在ClassLoadingConfiguration(以及this thread)中进行了报告,他仍然必须从common/lib替换捆绑的验证程序。这听起来很奇怪,我不能确认它是必需的。先试试吧。

答案 1 :(得分:0)

如果有人还在寻找答案。 当我使用hibernate-validator 3.0.1时,我遇到了这个问题,我将其更改为4.2.0.Final并且工作正常。

另外,请确保安装了validator-api jar