zoukankan      html  css  js  c++  java
  • Tomcat7启动报Error listenerStart错误--转载

    原文地址:http://www.cnblogs.com/nayitian/p/3439336.html

    问题

    Tomcat7在启动时报错,详细信息如下:

    十一月 23, 2013 7:21:58 下午 org.apache.catalina.core.StandardContext startInter
    nal
    严重: Error filterStart
    十一月 23, 2013 7:21:58 下午 org.apache.catalina.core.StandardContext startInter
    nal
    严重: Context [/st] startup failed due to previous errors

    分析

    Tomcat后台信息太少以至于不能得出问题空间出在哪儿(Tomcat的日志目录也无相关信息)。网上查询得知,通过配置Tomcat的Log,让它记录更多的日志信息,方能进一步分析原因。

    在不能启动的Web应用目录(我这里是st)下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后,后台显示出了错误原因,并且Tomcat的日志目录中也出现了文件“error-debug.2013-11-23.log”,其中记录了错误详细信息。下面内容供参考(每个人出错的原因不一样,需要具体问题具体分析解决):

    复制代码
    严重: Exception starting filter struts2
    Unable to load configuration. - action - file:/D:/Work/helloworld/WebContent/WEB
    -INF/classes/struts.xml:8:67
            at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:483)
            at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOp
    erations.java:74)
            at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    .init(StrutsPrepareAndExecuteFilter.java:51)
            at org.apache.catalina.core.ApplicationFilterConfig.initFilter(Applicati
    onFilterConfig.java:277)
            at org.apache.catalina.core.ApplicationFilterConfig.getFilter(Applicatio
    nFilterConfig.java:258)
            at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(Applica
    tionFilterConfig.java:382)
            at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFi
    lterConfig.java:103)
            at org.apache.catalina.core.StandardContext.filterStart(StandardContext.
    java:4650)
            at org.apache.catalina.core.StandardContext.startInternal(StandardContex
    t.java:5306)
            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
    java:1559)
            at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.
    java:1549)
            at java.util.concurrent.FutureTask.run(FutureTask.java:262)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
    java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
    .java:615)
            at java.lang.Thread.run(Thread.java:744)
    Caused by: Unable to load configuration. - action - file:/D:/Work/helloworld/Web
    Content/WEB-INF/classes/struts.xml:8:67
            at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
    ConfigurationManager.java:70)
            at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Di
    spatcher.java:429)
            at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:471)
            ... 15 more
    Caused by: Action class [com.clzhang.ssh.action.LoginAction] not found - action
    - file:/D:/Work/helloworld/WebContent/WEB-INF/classes/struts.xml:8:67
            at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.ver
    ifyAction(XmlConfigurationProvider.java:480)
            at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.add
    Action(XmlConfigurationProvider.java:424)
            at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.add
    Package(XmlConfigurationProvider.java:541)
            at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loa
    dPackages(XmlConfigurationProvider.java:290)
            at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages
    (StrutsXmlConfigurationProvider.java:112)
            at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContai
    ner(DefaultConfiguration.java:239)
            at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(
    ConfigurationManager.java:67)
            ... 17 more
    
    十一月 23, 2013 7:27:44 下午 org.apache.catalina.core.StandardContext startInter
    nal
    严重: Error filterStart
    十一月 23, 2013 7:27:44 下午 org.apache.catalina.core.StandardContext startInter
    nal
    严重: Context [/st] startup failed due to previous errors
    十一月 23, 2013 7:27:44 下午 org.apache.catalina.startup.HostConfig deployDirect
    ory
    复制代码

    解决

    是程序的问题,配置的相关Action类的包名更改了,但没有及时更改struts.xml文件导致上述结果。

    有关Tomcat的日志相关配置参考:http://tomcat.apache.org/tomcat-7.0-doc/logging.html

    本文参考:

    http://grails.1312388.n4.nabble.com/Deployment-problems-td4628710.html

    可能有同学打不开上述页面,因为它被屏蔽了。摘录部分内容如下,供参考:

    Just for future reference; even though the app worked fine in development mode, there were some bugs in the BootStrap when deploying to a real server. I realized errors in the BootStrap were creating the cryptic listererStart error.

    In order to get better debug logging, place a file called "logging.properties" in the webapps WEB-INF/classes folder.  Then, your server logs will show descriptive errors for debugging:

    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 = servlet-examples.


    java.util.logging.ConsoleHandler.level = FINE 
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

    This will create a servlet-examples.log file in your appserver's log folder. This data was found at http://tomcat.apache.org/tomcat-7.0-doc/logging.html under the "Using java.util.logging (default)" header.

    Hopefully this will help save someone some time and frustration when deploying their app, especially if, like me, they are unfamiliar with tomcat and the logging facilities. 

  • 相关阅读:
    后台线程处理数据,如何实时更新UI(datagridview)多线程同步问题
    DataGridView设置行高
    C#打开外部文件,如txt文件
    20120621第一天_复习与测试\04continue
    关于C#正则表达式MatchCollection类的总结
    关于sqlite中的一个错误 “database is locked"
    UI中 加个timer 写个while true的方法 不断获取run的对象
    最近帮公司开发一个邮件营销软件 用到XPTable 但找了很多方法 摸索了很久都不知道如何更新进度条 不过在国外的一个网站 终于找到答案了
    C# 简单的往txt中写日志,调试时很有用 【转】
    输入要匹配的内容和正则表达式规则 返来单个匹配的内容 正则表达式方法 常用
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4500022.html
Copyright © 2011-2022 走看看