【问题标题】:Hibernate :java.lang.NoSuchMethodError:javax/validation/spi/ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider休眠:java.lang.NoSuchMethodError:javax/validation/spi/ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider
【发布时间】:2013-09-24 22:04:53
【问题描述】:

我们正在为基于 Spring-Hibernate 的应用程序执行 Junit 套件(使用 spring text conext 单元测试框架)。并使用 ANT 进行构建,Hibernate Jars 位于构建路径中。

hibernate-validator-5.0.1.Final.jar
validation-api-1.1.0.Final.jar

hibernate-commons-annotations-4.0.2.Final.jar
hibernate-core-4.2.3.Final.jar
hibernate-ehcache-4.2.3.Final.jar
hibernate-entitymanager-4.2.3.Final.jar

我们遇到的错误似乎与 Hibernate 验证有关。

   java.lang.NoSuchMethodError:javax/validation/spi/ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.(ValidatorFactoryImpl.java:113) at org.hibernate.validator.HibernateValidator.buildValidatorFactory(HibernateValidator.java:45) at org.hibernate.validator.internal.engine.ConfigurationImpl.buildValidatorFactory(ConfigurationImpl.java:217) at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:50) at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:445) at org.hibernate.cfg.beanvalidation.TypeSafeActivator.activate(TypeSafeActivator.java:96) at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:150)

【问题讨论】:

    标签: hibernate junit4 spring-junit


    【解决方案1】:

    您的类路径(在本例中为 1.0.0)的某处很可能有旧版本的验证 API。非常类似于this question

    【讨论】:

      【解决方案2】:

      我遇到了这个问题,我认为这是因为我使用的是 Spring Boot 和更旧版本的 Hibernate?我添加了
      compile group: 'org.hibernate', name: 'hibernate-validator', version: '4.3.2.Final'作为依赖项,现在它可以工作了。

      这是我的相关依赖项。

      // database
      compile 'org.hibernate:hibernate-core:4.3.8.Final'
      compile group: 'org.hibernate', name: 'hibernate-hikaricp', version: '4.3.8.Final'
      compile group: 'hikari-cp', name: 'hikari-cp', version: '1.7.5'
      
      // without this, hibernate util fails in unit test environment -- something with javax.validator / reading
      // properties files
      compile group: 'org.hibernate', name: 'hibernate-validator', version: '4.3.2.Final'
      
      compile group: 'postgresql', name: 'postgresql', version: '9.3-1102.jdbc41'
      compile group: 'org.hsqldb', name: 'hsqldb', version: '2.3.4'
      
      
      // spring
      compile ('org.springframework.boot:spring-boot-starter-web')
      // so that we can use a tomcat web container for dev purposes
      compile group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '1.4.3.RELEASE'
      compile group: 'org.springframework', name: 'spring-orm', version: '4.3.5.RELEASE'
      compile group: 'org.springframework.boot', name: 'spring-boot-starter-log4j2', version: '1.4.3.RELEASE'
      

      【讨论】:

        猜你喜欢
        • 2017-01-11
        • 2014-08-30
        • 2016-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多