2014-03-06 71 views
0

當我嘗試運行我的JUnit測試(這曾經工作,但奇蹟般地停止了),我得到的NoClassDefFoundError同春行家冬眠組織/休眠/ EJB/HibernatePersistence在我的JUnit測試

Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/hibernate/ejb/HibernatePersistence 
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) 
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1030) 
... 47 more 
Caused by: java.lang.NoClassDefFoundError: org/hibernate/ejb/HibernatePersistence 
at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter.<init>(HibernateJpaVendorAdapter.java:57) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 

我的POM文件不包含org.hibernate的依賴關係,但是:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>${hibernate.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>${hibernate.version}</version> 
    <exclusions> 
     <exclusion> 
      <groupId>cglib</groupId> 
      <artifactId>cglib</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>dom4j</groupId> 
      <artifactId>dom4j</artifactId> 
     </exclusion> 
    </exclusions>    
</dependency> 
<dependency> 
    <groupId>org.hibernate.javax.persistence</groupId> 
    <artifactId>hibernate-jpa-2.0-api</artifactId> 
    <version>1.0.1.Final</version> 
</dependency> 

我看過遍佈互聯網,但找不到解決方案。任何想法,爲什麼這可能是?

編輯:通過運行

MVN清潔解決了該問題安裝-U

Eclipse中不能很好地與Maven :(玩

回答

0

只好跑

mvn clean install -U

MVN蝕:清潔

MVN日食:日食

然後它的工作