SpringJUnit4ClassRunner的单元测试无法使用PersistenceUnitInfo.getValidationMode()加载上下文

时间:2013-08-30 03:48:58

标签: spring hibernate jpa junit

我正在尝试用Spring编写一些单元(集成)测试。我正在使用SpringJUnit4ClassRunner。我之前在我的域层中使用此运行器编写了测试而没有问题。现在我正在尝试在我的Web应用程序中编写测试并获得“无法加载ApplicationContext”异常。

该应用程序基于Hibernate / JPA 2.0。这是主要的例外:

引起:java.lang.NoSuchMethodError:javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax / persistence / ValidationMode;     在org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:641)     在org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:91)     在org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:288)     在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)     在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547)     在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485)

1 个答案:

答案 0 :(得分:0)

感谢提示M. Deinum。我查看了我的pom文件,注意到Spring Skyway Software Utils引入了JPA1。一旦我删除了Skyway工具,我的单元测试就开始工作了。