【发布时间】:2013-09-02 16:37:07
【问题描述】:
我正在尝试使用 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)
【问题讨论】:
-
你能发布你的类路径吗?从堆栈跟踪来看,您的类路径中混合了 JPA 版本。
-
我的主应用程序运行没有问题,并且它使用相同的 pom 文件。我应该寻找哪些罐子?我正在使用 Maven,所以我无法发布类路径。
标签: spring hibernate jpa junit