`
flashdream8
  • 浏览: 680771 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

  转自《http://xuthus.iteye.com/blog/85089#comments

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

      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文件中的

<listener>       <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
listener>
改为
   <
servlet>
       
<servlet-name>SpringContextServletservlet-name>
       
<servlet-class>
            org.springframework.web.context.ContextLoaderServlet
       
servlet-class>
       
<load-on-startup>1load-on-startup>
   
servlet>

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

    我的最终解决方案如下:
     
我用的是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 id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<!--[if !supportLineBreakNewLine]-->
改为
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
之后问题得到解决。 

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

    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所以会出现如题的问题。

再次修正:

    昨天又遇到此问题,解决的办法是删除无用的jar

    工程是 springhibernatetomcat5.5.25jar都是用eclipse自动加载的,很多jar明显的用不到,例如:ibatistoplink等。将无用的jar删除后问题解决。

 

 

 

 

 

 

下面这篇文章转自《作者:lizongbo 发表于:3:44 下午. 星期二, 12月 4th, 2007
版权声明:可以任意转载,转载时请务必以超链接形式标明文章和作者信息及本版权声明

配置Tomcat自身的log,启用详细的调试日志.

Tomcat 5.5和Tomcat 6.0中的配置基本一样,只是相关文件放的目录有所不同.

首先需要准备的文件为:

1.log4j.jar , 下载地址 : http://www.apache.org/dist/logging/--escaped_anchor:e0a22b16b97ca8dedb8d5b8c15ffbcaa--/1.2.15/apache-log4j-1.2.15.zip
2.Tomcat 5.5所需的 commons-logging.jar,下载地址: http://www.apache.org/dist/commons/logging/binaries/commons-logging-1.1.zip

3.log4j配置文件:
log4j.properties
配置内容为:

log4j.rootLogger=ERROR,R

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%p]%t-%c-%m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/lizongbo.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p]%t-%c-%m%n

log4j.logger.org.apache.catalina=INFO,R,CONSOLE

#日志级别不能太低,如果配置为debug的话,输出的日志信息太多,导致tomcat启动非常的慢.

4.Tomcat 6.0所需的juli替换文件:
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.14/bin/extras/tomcat-juli-adapters.jar
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.14/bin/extras/tomcat-juli.jar

在Tomcat6.0中,

tomcat-juli-adapters.jar,log4j-1.2.15.jar,log4j.properties复制到D:\Java\ApacheTomcat6.0.14\lib下面.

tomcat-juli.jar复制到D:\Java\apache-tomcat-6.0.14\bin\下面.

然后启动tomcat,就可以在D:\Java\apache-tomcat-6.0.14\logs下看到lizongbo.log了.

在 Tomcat5.5中,

将commons-logging-1.1.jar,log4j-1.2.15.jar,复制到D:\Java\apache-tomcat-5.5.25\common\lib下面.
log4j.properties复制到D:\Java\apache-tomcat-5.5.25\common\classes下面.

然后启动tomcat,就可以在D:\Java\apache-tomcat-5.5.25\logs下看到lizongbo.log了.

在这个时候,再通过日志文件来分析,则会发现出现这种错误的情况可能有:
(以下是我遇到的出错情况,大多是些低级错误)
1.webapps要用到的classe文件根本没有复制到WEB-INF/classes目录下面
(java.lang.NoClassDefFoundError,而这个信息可能默认没输出到控制台,尤其是用了spring的,昨天就是这个粗心的低级错误)
2.要用到lib文件没有复制完,缺少lib
3.lib下的同一个库的jar文件存在多个不同版本,引起版本冲突.
4.lib下的jar与tomcat版本不相对应(我遇到的问题是web应用在Tomcat5.5上运行正常,换到Tomcat6.0上就出错,
例如一个用了struts的webapp在Tomcat 6上报下面的错误
“Parse Fatal Error at line 17 column 6: The processing instruction
target matching “[xX][mM][lL]” is not allowed” )

分享到:
评论

相关推荐

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

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

    严重: Error listenerStart

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

    centos5下oracle启动监听提示:The listener supports no services问题

    在 Centos5 下安装 Oracle 11g 数据库后,启动监听时可能会遇到 “The listener supports no services” 的问题,该问题导致远程连接时出现 ORA-12514:TNS:listener does not currently know of service requested ...

    Tomcat启动时,自动访问本地servlet

    当我们希望在Tomcat启动时自动访问本地的Servlet或JSP,可以通过配置监听器(Listeners)来实现这一需求。监听器是Servlet容器中的一个组件,它可以监听特定的事件,比如Web应用的初始化、销毁等,并在这些事件发生...

    ORA-12541 TNSno listener 的解决方案

    ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案

    Tomcat启动分析以及如何启动

    - `&lt;Listener&gt;`:监听器,用于在Tomcat启动和停止时执行特定任务,如初始化或清理。 - `&lt;Service&gt;`:定义Service的名称和其他属性,通常包括一个或多个Connector和一个Engine。 - `&lt;Connector&gt;`:配置Connector的...

    tomcat 启动优化和并发并发优化配置.rar

    2. **减少启动加载的模块**:在`server.xml`中,可以通过注释掉不必要的Connector、Listener等元素,减少启动时加载的组件,加快启动速度。 3. **使用ClassPath优化**:通过 `-Djava.endorsed.dirs` 指定endorsed...

    tomcat 启动和停止时发送邮件

    【标题】:“Tomcat启动和停止时发送邮件” 在IT运维过程中,监控服务器的状态是非常重要的。Tomcat作为一款广泛使用的Java应用服务器,其启动和停止的自动化管理有助于提高工作效率并及时获取系统状态信息。本篇将...

    tomcat 启动报APR based Apache Tomcat Native library not found

    标题 "tomcat 启动报APR based Apache Tomcat Native library not found" 指出的问题是关于Apache Tomcat服务器在启动时找不到基于APR(Apache Portable Runtime)的本机库。这通常涉及到Tomcat使用APR库来提高性能...

    Tomcat启动springboot项目war包报错:启动子级时出错的问题

    在Spring Boot应用部署到Tomcat服务器的过程中,遇到“启动子级时出错”的问题,这通常是由于多种原因导致的。以下是一些可能的原因和解决策略: 1. **配置错误**: - 检查`web.xml`配置,确保没有错误的配置项,...

    Tomcat面试专题.zip

    - 使用`bin/startup.sh`或`startup.bat`启动Tomcat,`shutdown.sh`或`shutdown.bat`关闭。 - 通过命令行参数可以定制启动选项,如内存分配、Java版本等。 5. **Tomcat性能优化**: - 调整最大线程数:`...

    解决Idea的tomcat启动报多个listener的错误问题

    通过上述步骤,一般能够定位并解决Tomcat启动时的监听器错误。如果你对其他相关问题如IDEA配置Tomcat启动报错、导入SSM项目启动Tomcat报404错误或POM.xml文件报错等也有兴趣,可以查阅相关文章,它们通常会提供更...

    TNS-12541: TNS: 无监听程序 TNS-12560

    如何监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF 3、重新启动windows服务管理中的监听程序.先停止,然后再重新启动. 4、检查结果.发现可以了,返回的值在10毫秒.有时为0毫秒.成功!! 但这并不是...

    struts2+hibernate+spring整合源码

    由于自己在整合的时候被严重: Error listenerStart这个问题足足困扰了两天,今天终于成功了,所以写了这个文档,希望对大家有所帮助。 注意:里面有个jar包是冲突的,大家下载后把asm-2.2.3.jar删掉,在重新部署一下...

    TOMCAT源码分析(启动框架)

    【TOMCAT源码分析(启动框架)】 Tomcat是一款广泛应用的开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,为Web应用程序提供了运行环境。本篇文章将深入探讨Tomcat的系统框架及其启动流程...

    Tomcat(二) Tomcat实现:Servlet与web.xml介绍 以及 源码分析Tomcat实现细节1

    在web.xml文件中,你可以通过`&lt;listener&gt;`元素定义监听器,当Web应用启动时,Tomcat会实例化这些监听器并调用相应的初始化方法。 ```xml &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.context....

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

    timer随tomcat启动案例

    本案例“timer随tomcat启动案例”就是针对这种情况的一个实例,它利用了Java的定时器(Timer)类和Tomcat的生命周期管理来实现在Tomcat服务器启动时自动运行的任务。 首先,我们要理解`Timer`类是Java.util包下的一...

    tomcat-docs

    "tomcat-docs"中的Servlet API文档通常会涵盖Servlet、Filter、Listener等核心概念,以及如何在Tomcat环境中配置和使用它们的方法。 【标签】"jsp" 指的是JavaServer Pages,这是一种基于Java技术的服务器端脚本...

    用myeclispe来连接oracle数据库时出现了如下错误

    用myeclispe来连接oracle数据库时出现了如下错误: ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified

Global site tag (gtag.js) - Google Analytics