先发异常信息:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlMapClient' defined in file [C:\Program Files\tomcat\apache
-tomcat-5.5.25\apache-tomcat-5.5.25\webapps\SYMIS\WEB-INF\classes\applicationContext-common.xml]: Invocation of init method failed; nested exception is java.lan
g.ExceptionInInitializerError
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
        ... 90 more
Caused by: java.lang.ExceptionInInitializerError
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.<init>(SqlMapConfigParser.java:58)
        at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.<init>(SqlMapConfigParser.java:45)
        at org.springframework.orm.ibatis.SqlMapClientFactoryBean.buildSqlMapClient(SqlMapClientFactoryBean.java:335)
        at org.springframework.orm.ibatis.SqlMapClientFactoryBean.afterPropertiesSet(SqlMapClientFactoryBean.java:292)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
        ... 100 more
Caused by: java.lang.RuntimeException: Error creating logger for class class com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.  Cause: java.lang.reflect.Invocatio
nTargetException
        at com.ibatis.common.logging.LogFactory.getLog(LogFactory.java:33)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.<clinit>(SqlMapClientImpl.java:40)
        ... 106 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.ibatis.common.logging.LogFactory.getLog(LogFactory.java:31)
        ... 107 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at com.ibatis.common.logging.jakarta.JakartaCommonsLoggingImpl.<init>(JakartaCommonsLoggingImpl.java:11)
        ... 112 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        ... 113 more
2010-2-2 16:21:12 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2010-2-2 16:21:12 org.apache.catalina.core.StandardContext start
严重: Context [/SYMIS] startup failed due to previous errors
INFO - Closing Spring root WebApplicationContext特别说明:
1、在eclipse可以运行,但是丢到tomcat/webapp/下就不行了,报以上错误
2、common-logging.jar已经导入请各位达人帮忙解决一下,感激

解决方案 »

  1.   

    可能是你在eclipse中导入jar的时候没有注意,把一些工程以外的jar加入到工程中了。
    这样在eclipse里运行没有问题。因为eclipse知道如何设置classpath。
    但是打包的时候没有把这些jar打包进去。
    导入jar的时候选第一个按钮:Add JARs
      

  2.   

    把common-logging.jar copy到tomcat的\common\lib下试试。
      

  3.   

    Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory  异常:没有common-logging。jar包导致的本来LOg4j是JAVA领域公认的日志标准,但是sun感觉这一块市场没了,自己又弄了一套就是JDK logger
    ,为了兼容的问题,apache公司又做了一个 common -loggin 的 
    它更自能,如果项目里有Log4j,它就是用log4j的那套api,没有就是用JDK的logger,如果都没有
    就是用自己的简单实现。所以一般在项目里你将LOG4J和common-logging。jar都引入到项目中来就可以了 
      

  4.   

    谢谢两位先
    1、我在eclipse下用到的就是工程包和jre下的包,再没有别的包了
    2、commons-logging-1.0.4.jar这个我也试过把它放到common\lib\下,可还是不行,报同样的错误,就在启动的时候
      

  5.   

    log4j-1.2.8.jar和commons-logging-1.0.4.jar都有
      

  6.   

    我好像也遇到这样的问题,应该是log包不正确
      

  7.   

    而且在tomcat解压工程后的文件夹下我的工程包都在,不存在没有打包进去的情况
      

  8.   

    Caused by: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
    log包都删除了  跑下,再加进去跑下
      

  9.   

    还是不行哦,我把common-logging.jar和log4j.jar都删了,跑了一遍不行,然后一个一个加进去试了还是不行
      

  10.   

    不太可能是jar包冲突,我试过把所有logging-common.jar包删除,包括工程中的和tomcat下面的,只保留tomcat/bin/下面的common-logging-api.jar,可还是会报同样的错误
    问题没解决,苦恼中
      

  11.   

    ibatis的sqlMapClient有问题,题出来瞧瞧
      

  12.   

    在applicationContext-common.xml:
    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
            <property name="configLocation">
             <value>classpath:sqlMapConfig.xml</value>
            </property>
            <property name="dataSource" ref="dataSource"/>
      </bean>

    <bean id="sqlMapClientTemplate"
    class="org.springframework.orm.ibatis.SqlMapClientTemplate">
    <property name="sqlMapClient">
    <ref bean="sqlMapClient" />
    </property>
    </bean>在Dao实现类中
    @Resource
    private SqlMapClientTemplate sqlMapClientTemplate;
      

  13.   

    <bean id="sqlMapClientTemplate" 
    class="org.springframework.orm.ibatis.SqlMapClientTemplate"> 
    <property name="sqlMapClient"> 
    <ref bean="sqlMapClient" /> 
    </property> 
    </bean> 这里配置是不是不全 ,你实际上用的是Ibatis的sqlMapClient,
    而你的引用<ref bean="sqlMapClient" />指向的class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> ,即spring的工厂
    应该让spring容器知道真正的sqlMap: com.ibatis.sqlmap.client.SqlMapClient.