应用部署上之后无法正常启动。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报错追踪的更多相关文章

  1. Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误——SHH框架

    SHH框架工程,Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误 1.查看配置文件web.xml中是否配置.or ...

  2. 启动Tomcat服务器报错

    启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required by Tomcat v5.5 Server at localhost are alre ...

  3. tomcat启动报错Several ports (8080, 8009) required by Tomcat v6.0

    tomcat启动报错 如下图: 问题:8080.8009端口已经被占用. 解决办法: 1.在命令提示符下,输入netstat -aon | findstr 8080 2.继续输入taskkill -F ...

  4. tomcat启动报错

    [toc]启动错误 does not exist or is not a readable directory 问题:tomcat启动报错:does not exist or is not a rea ...

  5. [转]tomcat启动报错too low setting for -Xss

    tomcat启动报错too low setting for -Xss 网上给的答案都是调整Xss参数,其实不是正确的做法, -Xss:每个线程的Stack大小,“-Xss 15120” 这使得tomc ...

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

  7. linux 下 tomcat 运行报错 Broken pipe

    linux 下 tomcat 运行报错 Broken pipe 感谢:http://hi.baidu.com/liupenglover/blog/item/4048c23ff19f1cd67d1e71 ...

  8. Tomcat启动报错:[The configuration may be corrupt or incomplete]的解决方案

    1,场景说明: 偶然碰见Tomcat启动报错,此时并没有Add任何Web项目: Could not load the Tomcat server configuration at /Servers/T ...

  9. tomcat启动报错:Injection of autowired dependencies failed

    tomcat启动报错:Injectjion of autowired dependencies failed 环境: 操作系统:centos6.5 tomcat: 7.0.52 jdk:openjdk ...

  10. 单点登录(五)-----遇到问题-----cas server 源码部署tomcat运行报错BeanCreationException:Error creating bean with name 's

    我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas serve ...

随机推荐

  1. BZOJ3772 精神污染 主席树 dfs序

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3772 题意概括 给出一个树,共n个节点. 有m条互不相同的树上路径. 现在让你随机选择2条路径,问 ...

  2. mysql group by组内排序

    mysql group by组内排序:     首先是组外排序:     SELECT z.create_time,z.invoice_id from qf_invoice_log z where z ...

  3. CentOS 7开机出现welcome to emergency mode! 解决方法

    CentOS7.3昨天用的还好好的的,但是今天开机提示如下(如图提示):welcome to emergency mode!after logging in ,type “journalctl -xb ...

  4. BroadcastReceiver插件化解决方案

    --摘自<android插件化开发指南> 1.静态广播和动态广播仅区别于注册方式的不同.静态广播的注册信息保存在PMS中,动态广播的注册信息保存在AMS中 2.发送广播,也就是Contex ...

  5. CSS-选择器权重计算

    权重计算规则 内联样式,如: style=" ",权值为1000. ID选择器,如:#content,权值为0100. 类,伪类和属性选择器,如.content,权值为0010. ...

  6. Java Lambda基础——Function, Consumer, Predicate, Supplier, 及FunctionalInterface接口

    这几个接口经常与Lambda结合使用,网上当然也有很多介绍,不过有些过于繁琐,有些又偏简单,秉着实用主义精神,今天这里折中一下,把介绍的内容分为两部分,第一部分相当于TLDR,总结几个"口诀 ...

  7. springboot整合视图层之jsp

    在springboot中不推荐视图层使用jsp展示,但是人们以前已经习惯使用jsp,所以对jsp也有支持,但是是解耦性的.也就是说并没有像其他组件一样直接集成到启动器中,所以像jsp引擎之类的需要额外 ...

  8. 146. 大小写转换 II

    146. Lowercase to Uppercase II Description Implement an upper method to convert all characters in a ...

  9. 大数据环境完全分布式搭建 hadoop2.4.1

    (如果想要安装视频及相关软件可以博私聊我 qq 731487514) hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.4.1又增加了YA ...

  10. Fenng对于管理技术团队的思考

    丁香园CTO冯大辉谈技术团队管理 http://www.infoq.com/cn/interviews/fdh-team-manager http://www.geekpark.net/topics/ ...