2013-09-19 4 views
7

Мы выполняем пакет Junit для приложения на основе Spring-Hibernate (с использованием Spring Text Conext Unit testing framework). ANT для сборки и ниже Hibernate Jars находятся в пути сборки.Hibernate: java.lang.NoSuchMethodError: javax/validation/spi/ConfigurationState.getParameterNameProvider() Ljavax/validation/ParameterNameProvider

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) 

ответ

2

Скорее всего у вас старая версия проверки-апи где-то ваш путь к классам (в данном случае, 1.0.0). Очень похоже на this question.

0

Я столкнулся с этой проблемой, и я думаю, что это было потому, что я использовал 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'