spring+hibernate问题 当我用hibernate3.2时,启动程序时就要报错:严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.xhbs.util.dynamicdao.AutoInjectDynamicDaoBeanPostProcessor' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V但是我在一个类里面这样测试又没有问题 
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

CpsService cpsService=(CpsService)context.getBean("cpsService");
System.out.println(cpsService); 
不知道是怎么回事,请各位指点~~

解决方案 »

  1.   

    nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)
    确认是否缺少asm包~在hibernate的lib下有该包,如果缺少,可以从该处找。
      

  2.   

    确定有 asm.jar包~~~我在hihernate官方网站上下载的3.2的包 应该是全了 我把里面的包都方到我的工程下了的
      

  3.   

    <?xml version="1.0" encoding="UTF-8"?>
    <beans
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
     default-autowire="byName" > 
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver">
    </property>
    <property name="url" value="jdbc:mysql://10.100.144.30:3306/test">
    </property> 

    <property name="username" value="root"></property>
    <property name="password" value="123"></property>
    </bean> 
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
    </props>
    </property> 
    <property name="mappingResources"> 
    <list>
    <value>com/xhbs/b2c/domain/User.hbm.xml</value></list>
    </property></bean> 
      
    <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager" />

    <bean class="com.xhbs.util.dynamicdao.AutoInjectDynamicDaoBeanPostProcessor"/>

    <bean id="userService"   class="com.xhbs.b2c.service.user.impl.UserServiceImpl"/>


    </beans>
      

  4.   

    ContextLoaderListener 在看李兴华的视频.他说:这个不太稳定.建议使用SERTVELT.不用监听器.
      

  5.   

    好象是asm包版本冲突
    我刚解决,困扰了我3天
    你把asm-2.2.3.jar包移出build path 然后从工程目录中删除掉,记得,一定要删除才有用(不知道为什么,我删除了才有用,不删除一直通过不了)
    然后重新启动服务器,OK了。
      

  6.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【javaman1982】截止到2008-06-26 00:39:52的历史汇总数据(不包括此帖):
    发帖数:17                 发帖分:330                
    结贴数:7                  结贴分:130                
    未结数:10                 未结分:200                
    结贴率:41.18 %            结分率:39.39 %            
    楼主该结一些帖子了
      

  7.   

    asm-2.2.3.jar包与asm.jar包冲突。删除asm-2.2.3.jar包就可以了
      

  8.   

    据说是spring和hibernate提供了相同功能的jar包导致的问题