`
wutheringsea
  • 浏览: 264412 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

[转]解决Tomcat Error listenerStart 问题

    博客分类:
  • Java
阅读更多

昨天部署web应用到Tomcat之后,无法成功启动,并且控制台没有详细的错误信息,
顶多就两行提示信息,例如:
严重: Error listenerStart
严重: Context [/lizongbo] startup failed due to previous errors

或者

严重: Error filterStart
org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors

查找logs目录下的信息,除了这两句话,也没别的辅助内容.
给查错带来了困难,在这种情况下,是因为Tomcat自身的默认日志没有将一些错误信息输出到控制台或文件,
这个时候则需要配置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.18/bin/extras/tomcat-juli-adapters.jar
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.18/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” )

愿意看英文的可以参考官方网站说明:
http://tomcat.apache.org/tomcat-6.0-doc/logging.html
http://tomcat.apache.org/tomcat-5.5-doc/logging.html

 

分享到:
评论

相关推荐

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

    通过上述步骤,通常可以解决Tomcat启动时出现的“Error listenerStart”问题。需要注意的是,根据具体情况可能还需要进一步排查其他可能的原因,如数据库连接配置、环境变量设置等。此外,保持良好的编码习惯和项目...

    严重: Error listenerStart

    总之,"严重: Error listenerStart" 错误提示需要我们深入源码,检查日志配置,分析可能的依赖冲突,以及对监听器代码进行调试,以找到并解决问题。在这个过程中,熟悉Java Web应用的生命周期、日志框架的工作原理...

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

    信息: Deploying web application directory lx01

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics