Hibernate ASM Spring java.lang.NoSuchMethodError会话工厂

Hibernate ASM Spring java.lang.NoSuchMethodError会话工厂,java,spring,hibernate,glassfish,Java,Spring,Hibernate,Glassfish,我想我已经知道问题出在哪里了。我一直在犯这个错误 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.BeanCr

我想我已经知道问题出在哪里了。我一直在犯这个错误

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
org.springframework.beans.factory.BeanCreationException:
无法自动连接方法:public void proTurism.DAO.AbstractDAO.setSession(org.hibernate.SessionFactory);嵌套异常为org.springframework.beans.factory.BeanCreationException:
创建ServletContext资源[/WEB-INF/applicationContext.xml]中定义的名为“sessionFactory”的bean时出错:
调用init方法失败;嵌套的异常是java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。(I)V
问题应该是两个不兼容的ASM版本,一个使用spring,另一个使用hibernate。我有hibernate ASM(netbeans 7.1中打包的未知版本)和spring ASM(3.0.6)。但我还没有找到任何解决方案,如何让一个asm或任何东西在glassfish和netbeans中工作

my 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>

org.hibernate.cfg.AnnotationConfiguration
org.hibernate.dialogue.mysqldialogue
真的

这是一个棘手的依赖性问题。只有当您的两个库(hibernate和spring)依赖于相同版本的ASM,或者在使用的功能方面依赖于非冲突版本的ASM时,才能解决此问题。如果不是这样,则升级/降级spring/hibernate,直到它工作为止


如果使用Maven,它会自动向您显示哪个工件需要哪个版本的依赖项,并且更容易跟踪和使用。即使不使用maven,您仍然可以检查hibernate和spring的pom定义,查看它们使用的asm版本。

这是一个棘手的依赖性问题。只有当您的两个库(hibernate和spring)依赖于相同版本的ASM,或者在使用的功能方面依赖于非冲突版本的ASM时,才能解决此问题。如果不是这样,则升级/降级spring/hibernate,直到它工作为止

如果使用Maven,它会自动向您显示哪个工件需要哪个版本的依赖项,并且更容易跟踪和使用。即使不使用maven,您仍然可以检查hibernate和spring的pom定义,查看它们使用的asm版本