【Tomcat】Tomcat报错追踪
应用部署上之后无法正常启动。tomcat启动日志例如以下:
信息: Starting service Catalina
2015-7-22 18:39:31 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.36
2015-7-22 18:39:31 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory cdr
2015-7-22 18:39:31 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(/cdr/webserver/CDR2.0/webapps/cdr/WEB-INF/lib/javaee.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2015-7-22 18:39:34 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2015-7-22 18:39:34 org.apache.catalina.core.StandardContext start
严重: Context [/cdr] startup failed due to previous errors
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/cdr] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/cdr] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [FileWatchdog] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-1] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 18:39:34 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-4] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 18:39:34 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2015-7-22 18:39:34 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:9090
2015-7-22 18:39:34 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/11 config=null
2015-7-22 18:39:34 org.apache.catalina.startup.Catalina start
信息: Server startup in 3280 ms
開始以为是jar包冲突,删除javaee.jar包攻克了jar包冲突问题,启动依旧报错,日志信息例如以下:
2015-7-22 19:34:23 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2015-7-22 19:34:23 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.36
2015-7-22 19:34:23 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory cdr
2015-7-22 19:34:25 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2015-7-22 19:34:25 org.apache.catalina.core.StandardContext start
严重: Context [/cdr] startup failed due to previous errors
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/cdr] registered the JDBC driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/cdr] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [FileWatchdog] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-1] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 19:34:25 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/cdr] appears to have started a thread named [Thread-4] but has failed to stop it. This is very likely to create a memory leak.
2015-7-22 19:34:25 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2015-7-22 19:34:25 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:9090
2015-7-22 19:34:25 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/10 config=null
2015-7-22 19:34:25 org.apache.catalina.startup.Catalina start
信息: Server startup in 2639 ms
这时候报错仅仅能看到和JDBC有一些关系,报错不明显。
通过下面设置能够设置对于Tomcat的追踪。生成更为具体的错误报告:
在WEB-INF/classes文件夹下新建一个文件叫logging.properties,内容例如以下:
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
这样,我们再启动tomcat时,就会在logs文件夹下生成一个更具体的日志error-debug.**.log
,而且具体报错也会在应用的日志中输出出来。通过该种设置,能够看到的具体错误例如以下:
......
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'cdr.gg_alarm_contact_r' doesn't exist
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'cdr.gg_alarm_contact_r' doesn't exist
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'cdr.gg_alarm_contact_r' doesn't exist
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
......
能够看到真正导致Tomcat无法启动的原因是因为数据库中缺乏表cdr.gg_alarm_contact_r,又一次创建该表后应用启动正常。
总结:
Tomcat本身启动的报错可能都比較含糊,可能仅仅提示了Error listenerStart。为了调试,我们要获得更具体的日志。这时候就能够通过这样的方法进行设置。从而更有效的追踪具体的报错。
【Tomcat】Tomcat报错追踪的更多相关文章
- Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误——SHH框架
SHH框架工程,Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误 1.查看配置文件web.xml中是否配置.or ...
- 启动Tomcat服务器报错
启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are alre ...
- tomcat启动报错Several ports (8080, 8009) required by Tomcat v6.0
tomcat启动报错 如下图: 问题:8080.8009端口已经被占用. 解决办法: 1.在命令提示符下,输入netstat -aon | findstr 8080 2.继续输入taskkill -F ...
- tomcat启动报错
[toc]启动错误 does not exist or is not a readable directory 问题:tomcat启动报错:does not exist or is not a rea ...
- [转]tomcat启动报错too low setting for -Xss
tomcat启动报错too low setting for -Xss 网上给的答案都是调整Xss参数,其实不是正确的做法, -Xss:每个线程的Stack大小,“-Xss 15120” 这使得tomc ...
- tomcat启动报错 ERROR o.a.catalina.session.StandardManager 182 - Exception loading sessions from persiste
系统:centos6.5 x86_64 jdk: 1.8.0_102 tomcat:8.0.37 tomcat 启动报错: ERROR o.a.catalina.session.StandardMan ...
- linux 下 tomcat 运行报错 Broken pipe
linux 下 tomcat 运行报错 Broken pipe 感谢:http://hi.baidu.com/liupenglover/blog/item/4048c23ff19f1cd67d1e71 ...
- Tomcat启动报错:[The configuration may be corrupt or incomplete]的解决方案
1,场景说明: 偶然碰见Tomcat启动报错,此时并没有Add任何Web项目: Could not load the Tomcat server configuration at /Servers/T ...
- tomcat启动报错:Injection of autowired dependencies failed
tomcat启动报错:Injectjion of autowired dependencies failed 环境: 操作系统:centos6.5 tomcat: 7.0.52 jdk:openjdk ...
- 单点登录(五)-----遇到问题-----cas server 源码部署tomcat运行报错BeanCreationException:Error creating bean with name 's
我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas serve ...
随机推荐
- BZOJ4811 [Ynoi2017]由乃的OJ 树链剖分
原文链接http://www.cnblogs.com/zhouzhendong/p/8085286.html 题目传送门 - BZOJ4811 题意概括 是BZOJ3668长在树上并加上修改和区间询问 ...
- shell基本用法
shell是一个命令行解释器,它接收应用程序/ 用户命令,然后调用操作系统内核:功能强大的编程语言: 1. Shell解析器 Linux提供的Shell解析器有: [kris@hadoop datas ...
- day28 面向对象:反射,内置函数,类的内置方法
面向对象进阶博客地址链接: http://www.cnblogs.com/Eva-J/articles/7351812.html 复习昨日内容: # 包 # 开发规范 # # hashlib # 登录 ...
- 李宏毅机器学习笔记5:CNN卷积神经网络
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- css布局方式总结
### 居中布局 ### 一.水平居中 * 要求:子元素于父元素水平居中且其(子元素与父元素)宽度均可变. ```` javacript <div class="parent" ...
- Oracle 在字符串中输入单引号或特殊字符
-- Start 字符串是用单引号括起来的,如果想在字符串中输入单引号该怎么办呢?有两种方法. 方法一:是用两个单引号代表一个单引号 SELECT 'I''m Shangbo' FROM DUAL; ...
- 练习八 spool导出
sqlplus -s username/password@sid set trimspool on; set linesize 120; set pagesize 2000; set newpage ...
- 在控制台下玩玩dotnet core内置原生的DI
转载请注明出处:http://www.cnblogs.com/zhiyong-ITNote/ 在基于dotnet core的web开发中,我们会经常用到DI,那么如果单单使用dotnet core自身 ...
- MySQL 查询所有的表名
select table_name from information_schema.tables where table_schema='laiu8' and table_type='base tab ...
- OI考试需注意的
能用结构体就用结构体,特别是队列之类的数据结构:类别相同的变量或数组名字不要太相近,最好在名字后面加上标识符(e.g:hash[]&HASH[]就不好,hash1[]&hash2[]正 ...