Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2476728
  • 博文数量: 293
  • 博客积分: 2660
  • 博客等级: 少校
  • 技术积分: 3632
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 17:50
文章分类

全部博文(293)

文章存档

2015年(13)

2014年(58)

2013年(73)

2012年(25)

2011年(30)

2010年(86)

2009年(8)

分类: Web开发

2013-03-07 19:56:04

http://wdytfl.blog.163.com/blog/static/116773653201032211250361/

昨天部署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 , 下载地址 :

2. Tomcat 5.5所需的 commons-logging.jar ,下载地址: 
           

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替换文件:

tomcat / tomcat -6/v6.0.14/bin/extras/ tomcat -juli-adapters.jar

tomcat / tomcat -6/v6.0.14/bin/extras/ tomcat -juli.jar

在Tomcat6.0中,

将 tomcat -juli-adapters.jar,log4j-1.2.15.jar,log4j.properties复制到apache-tomcat-6.0.20\lib下面.

将 tomcat -juli.jar复制到apache-tomcat-6.0.20\bin\下面.

然后启动 tomcat ,就可以在apache-tomcat-6.0.20\logs下看到webapp.log了.

在 Tomcat5.5中,

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

将log4j.properties复制到apache- tomcat -5.5.25\common\classes下面.

然后启动 tomcat ,就可以在apache- tomcat -5.5.25\logs下看到webapp.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” )

阅读(13474) | 评论(0) | 转发(0) |
0

上一篇:Java 单例模式详解

下一篇:MD5

给主人留下些什么吧!~~