使用工具:MyEclipse 8.0   数据库: MSSQL2005在启动tomcat时报错:
严重: 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 'adminBiz': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.test.s2sh.dao.AdminDAO com.test.s2sh.biz.AdminBiz.admindao; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'adminDAO' defined in file [F:\Users\lenvon\Workspaces\MyEclipse 8.x\.metadata\.me_tcat\webapps\S2SH\WEB-INF\classes\com\test\s2sh\dao\AdminDAO.class]: Unsatisfied dependency expressed through bean property 'sessionFactory': : 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; 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;)Vstruts.xml<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts> <constant name="struts.convention.default.parent.package" value="default-package" />  
    <constant name="struts.convention.action.packages" value="com.xaccp.s2sh.struts" />
    <constant name="struts.devMode" value="true"/>
<constant name="struts.convention.classes.reload" value="true" />

<package name="default-package" extends="convention-default">  
  
        <default-action-ref name="index" />  
  
        <action name="index"  >  
            <result>/index.jsp</result>  
        </action>
        
        
</package> </struts>    

解决方案 »

  1.   

    applicationContext.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"
    default-autowire="byType">

    <!-- 首先进行注解扫描 -->
    <context:annotation-config />
    <context:component-scan base-package="com.test.s2sh" /><!-- 此处的base-package为扫描的包 --> <!-- 基于注解的事务管理 -->
    <!-- 当id=transactionManager时,可以在tx:annotation-driven中省略transaction-manager的配置,其默认为transcationManager -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"></bean>
    <tx:annotation-driven transaction-manager="transactionManager"/>

    <!-- 数据源配置 -->

    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
    </property>
    <property name="url"
    value="jdbc:sqlserver://localhost:1433;databaseName=bbs">
    </property>
    <property name="username" value="sa"></property>
    </bean>

    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

    <property name="dataSource">
    <ref bean="dataSource" />
    </property>

    <property name="configLocation"
    value="classpath:hibernate.cfg.xml">
    </property>
    </bean>

    </beans>
      

  2.   

    web.xml<?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <filter>
    <filter-name>lazyLoader</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>lazyLoader</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>



      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      <filter>
       <filter-name>struts2</filter-name>
       <filter-class>
       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
       </filter-class>
      </filter>
      <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping></web-app>问题补充:所涉及的包的问题已经排除,只知道在创建sessionFactory时失败,导致dao依赖注入失败,不知道问题在哪,求各位大大帮助一下~~
      

  3.   

    问题解决了,本以为8.0已经修复这个BUG了,没想到今天RP不好,居然被我撞上了,
    原来有时候自带的commons-pool包是用不了的~~-_-!
    不过解决了哈·
      

  4.   

    其实tomcat下也有那个包你可以搜一下