2011-11-07 14 views
6

私は、Spring 3.0.5、JPA2、およびHibernate 3.6.7を使用するアプリケーションを持っています。 Mavenが私の依存関係管理を処理しています。ここでポンポンの抜粋だ:それをロードしようとしたときにSpringPersistenceUnitInfo :: AbstractMethodError

<properties> 
    <spring.version>3.0.5.RELEASE</spring.version> 
</properties> 
<dependencies> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-core</artifactId> 
    <version>${spring.version}</version> 
    </dependency> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>${spring.version}</version> 
    </dependency> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>${spring.version}</version> 
    </dependency> 
... 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-hibernate3</artifactId> 
    <version>2.0.8</version> 
    <scope>compile</scope> 
     <exclusions> 
     <exclusion> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate</artifactId> 
    </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-entitymanager</artifactId> 
    <version>3.6.7.Final</version> 
    </dependency> 
    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>3.6.7.Final</version> 
    <scope>compile</scope> 
    </dependency> 
    <dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jpa</artifactId> 
    <version>2.0.8</version> 
    <scope>compile</scope> 
    </dependency> 
    <dependency> 
    <groupId>org.hibernate.java-persistence</groupId> 
    <artifactId>jpa-api</artifactId> 
    <version>2.0-cr-1</version> 
    <scope>compile</scope> 
    </dependency> 
... 

アプリケーションがうまく構築し、しかし、Tomcatコンテナには、以下の文句:

 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode; 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 

これを引き起こしている可能性がどのように任意の考え?すべての依存関係はそのまま残っています。

ありがとうございました。

答えて

6

あなたは、Spring 2.xおよび3.xのアーティファクトを混合しています。

は、私は正確に同じ問題を抱えていた

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-orm</artifactId> 
    <version>${spring.version}</version> 
    <scope>compile</scope> 
</dependency> 
+0

これを指摘してくれてありがとう - spring-hibernate3への参照を削除すると、 – eugene

0

spring-hibernate3spring-jpaの古いバージョンを置き換えます。私は、冬眠バリデーター(4.2)、風袋6と春3.0.6でした。しかし、私はまた、休止状態を3.2から3.6にアップグレードしましたが、クラスパスからhibernate-entitymanager.jar(古い休止状態の瓶です)を削除するのを忘れました。

0

私は、Hibernate 4.x、Spring 3.x、JPA 2.x、およびCXF 2.7.5に非常によく似た問題がありました。私はMaven POMファイルのspring-jpaアーティファクトへの参照を削除し、あなたの推奨スニペットを挿入しました。働いた魔法!私はもはや例外を見ない。ありがとう!