`
gstarwd
  • 浏览: 1552884 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

tomcat启动时出现的 严重: Error listenerStart

阅读更多

最近看《WebWork.Spring.Hibernate 整合开发网络书城》视频教程,自己按照教程上说的做练习,在启动tomcat 时总是出一个错误:<o:p></o:p>

      2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
     
严重: Error listenerStart
      2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
     
严重: Context [/testWSH] startup failed due to previous errors
   
     
教程的作者在录制教程时也遇到了此问题,但是他删了一个jar 包后就没事了,可是我的一直无法正常启动,从昨天到现在一天的时间都在研究这个问题,也 百 度 到了很多有关此问题的信息,但是都没有很明确的解决方案。现在此问题已经解决,而且基本肯定问题所在,所以将解决方案写出来以供参考。

     
有一种解决方案是把web.xml 文件中的<o:p></o:p>

< listener >       < listener-class > org.springframework.web.context.ContextLoaderListener listener-class >
listener >
改为
   <
servlet >
       
< servlet-name > SpringContextServlet servlet-name >
       
< servlet-class >
            org.springframework.web.context.ContextLoaderServlet
       
servlet-class >
       
< load-on-startup > 1 load-on-startup >
   
servlet > <o:p></o:p>

      但这种方法可能会出现其他问题(网上又说会导致其他文件无法打开)。
    <o:p></o:p>

    我的最终解决方案如下:
     
我用的是tomcat5.5 ,配置了日志之后打印出下列信息:
       ERROR main org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
Caused by:
java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
    at java.lang.Class.getDeclaredConstructors0(Native Method)
     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
    at java.lang.Class.getConstructor0(Class.java:2640)
    at java.lang.Class.getDeclaredConstructor(Class.java:1953)
    ……


     
从日志信息看问题已经很明显了,是 applicationContext.xml dataSource  
问题。

<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource"></bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!-- -->
<bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource"></bean> 改为
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource"></bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
之后问题得到解决。 <o:p></o:p>

       出现"Error listenerStart " 一般是applicationContext.xml 中的bean 加载有问题。在用eclipsewebwork + spring + hibernate 的项目时一般都是用Myeclipse 自动生成那些配置文件,而有些相关的jar 或者文件并没有加载在至项目中,以至引出奇怪的问题,又因为是自动生成的东西所以往往会忽略一些文件,而问题确恰恰是这些生成的文件所致,所以自动化的东西也未必一定是正确的,呵呵……<o:p></o:p>

    org.springframework.jdbc.datasource.DriverManagerDataSource 不可以使用连接池。org.apache.commons.dbcp.BasicDataSource 作为注入的DataSource 源,为了使用 DBCP 的功能,必须要将commons-dbcp.jar 加入CLASSPATH 中,另外还需要commons-pool.jarcommons- collections.jar ,这些都可以在Springlib 目录下找到。

org.springframework.jdbc.datasource.DriverManagerDataSource
并没有提供连接池的功能,只能作作简单的单机连接测试。
使用org.apache.commons.dbcp.BasicDataSource 时缺少commons-pool.jar 所以会出现如题的问题。 <o:p></o:p>

再次修正:<o:p></o:p>

    昨天又遇到此问题,解决的办法是删除无用的jar<o:p></o:p>

    工程是 springhibernatetomcat<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">5.5.25</st1:chsdate>jar 都是用eclipse 自动加载的,很多jar 明显的用不到,例如:ibatistoplink 等。将无用的jar 删除后问题解决。<o:p></o:p>

<o:p> </o:p>

分享到:
评论

相关推荐

    Tomcat中--Error listenerStart错误的解决方案

    在Java Web应用开发过程中,经常遇到的一个问题是Tomcat启动时出现“Error listenerStart”这样的异常信息。本文将详细介绍这一问题的原因、可能涉及的因素以及具体的解决方法。 #### 一、问题背景 在部署Spring ...

    严重: Error listenerStart

    标题 "严重: Error listenerStart" 是一个典型的Java应用在启动时遇到的问题,通常与日志监听器或事件处理机制有关。这个问题可能出现在使用了Apache Log4j库的应用中,Log4j是一个广泛使用的日志记录框架,用于收集...

    tomcat排错经典案例之404.docx

    严重: Error listener Start 2009-11-06 21:39:17 org.apache.catalina.core.StandardContext start 严重: Context startup failed due to previous errors 2009-11-06 21:39:17 org.apache.catalina.core....

    struts2驱动包

    严重: Error listenerStart 2009-8-29 14:02:25 org.apache.catalina.core.StandardContext start 严重: Context [/OAProject] startup failed due to previous errors 2009-8-29 14:02:25 org.apache.catalina.core...

    信息: Deploying web application directory lx01

    错误进一步导致了`listenerStart`阶段的失败,这意味着应用程序的启动监听器无法正确配置。由于这个错误,Tomcat跳过了安装应用监听器的步骤,并在启动`/blog`上下文时遇到了错误。这最终导致了应用启动的失败。 ...

    redis发布订阅Java代码实现过程解析

    logger.info("启动 Tomcat"); // 连接 Redis Map, String&gt; proMap = PropertyReader.getProperties(); final String url = proMap.get("redis.host"); final Integer port = Integer.parseInt(proMap.get(...

    spring-boot-reference.pdf

    10.2.6. Quick-start Spring CLI Example 10.3. Upgrading from an Earlier Version of Spring Boot 11. Developing Your First Spring Boot Application 11.1. Creating the POM 11.2. Adding Classpath ...

Global site tag (gtag.js) - Google Analytics