2012-03-22 14 views
0

私はすでに問題が分かっていると思います。私はHibernate ASM Spring java.lang.NoSuchMethodError sessionFactory

org.springframework.beans.factory.BeanCreationException: 
Could not autowire method: public void proTurism.DAO.AbstractDAO.setSession(org.hibernate.SessionFactory); nested exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: 
Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V 

問題は、春と1つの休止状態を使用して2つの非互換ASMバージョン1であることがshoulbこのエラーを得続けます。私は休止状態のASM(netbeans 7.1でパックされた未知のバージョン)とバネASM(3.0.6)を持っています。しかし、私はどのように1つのasmまたは何かを取得する方法については何の解決策も見つかりませんでした。

タフな依存関係の問題です私のapplicationContext.xmlを

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="packagesToScan" value="proTurism"/> 
    <property name="configurationClass"> 
     <value>org.hibernate.cfg.AnnotationConfiguration</value> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> 
     </props> 
    </property> 
</bean> 

答えて

3

。 2つのライブラリ(休止状態と春)が同じバージョンのASMに依存する場合、または使用される機能に関してASMの非競合バージョンに依存する場合のみ、これを解決できます。そうでない場合は、動作するまで春/休止状態にアップグレード/ダウングレードしてください。

Mavenを使用している場合、どのアーティファクトが依存関係のどのバージョンを必要とし、トレースして再生するのが簡単かを自動的に表示します。 Mavenを使用していなくても、hibernateとspringのpom定義を調べて、どのバージョンのasmと連携しているか確認できます。

関連する問題