Error listenerStart错误,Tomcat终极排错杀手

在整合Spring+hibernate+Flex的时候,出项Error listenerStart错误,折腾的人都快疯了,由于Tomcat默认情况下不记录应用程序错误,就启动时候报个Error listenerStart就完事,根本不知道哪里出问题了,没办法,只能用log4j来排查。

首先新建一个log4j.properties文件。对log4j不熟的就直接把下面的内容复制进去就可以了:

log4j.rootLogger=info,Console,R
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
#log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p %c – %m%n
log4j.appender.Console.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %5p %c{1}:%L – %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy.MM.dd HH:mm:ss} %5p %c{1}(%L):? %m%n
log4j.logger.org.apache=info, R
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R
log4j.logger.org.apache.catalina.core=info, R
log4j.logger.org.apache.catalina.session=info, R

然后把log4j.properties放在tomcat安装目录下的/common/classes目录里面,还要找log4j.jar和commons-logging.jar两个jar包,放到tomcat安装目录下的/common/lib里,这三步缺一不可,然后再启动tomcat,错误就现原型了,原来了包冲突:spring和hibernate自带的包中都包含有asm.jar,所以要把asm.jar,asm-attrs.jar和cglib-2.1.3.jar删掉,注意。一定要要把asm-attrs.jar和cglib-2.1.3.jar也删掉,只保留asm-2.2.2.jar ,asm-commons-2.2.2.jar,asm-util-2.2.2.jar,我开始就是忽略了cglib-2.1.3.jar,一直找不到问题的原因。

最后别忘了删掉log4j.properties,log4j产生的日志文件很庞大,一个不小心会塞爆你的硬盘。毕竟,杀手锏不是用来随便用的!

This entry was posted on 星期三, 十二月 30th, 2009 at 8:04 下午 and is filed under Web开发. You can follow any responses to this entry through the RSS 2.0 feed.

随机文章

评   论

  请放心,不会公开的