Javaweb项目,无法启动tomcat(报错:A child container failed during start)

启动Java Web项目时,发现tomcat无法启动,并eclipse弹出错误提示框,localhost tomcat is faild之类的

再看控制台的输出信息,发现几个严重错误,本着 最先解决 第一个问题的 原则,看到第一个的提示错误如下:

提示错误:A child Container failed during start

完整错误信息如下:

严重: A child container failed during start  
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testcs_dn-admin-web]]  
    at java.util.concurrent.FutureTask.report(Unknown Source)  
    at java.util.concurrent.FutureTask.get(Unknown Source)  
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)  
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)  
    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(Unknown Source)  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
    at java.lang.Thread.run(Unknown Source)  
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/testcs_dn-admin-web]]  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
    ... 6 more  
Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name Action  
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3275)  
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3254)  
    at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1430)  
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1344)  
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)  
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)  
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)  
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)  
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    ... 6 more  

十二月 09, 2014 2:21:25 下午 org.apache.catalina.core.ContainerBase startInternal  
严重: A child container failed during start  
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]  
    at java.util.concurrent.FutureTask.report(Unknown Source)  
    at java.util.concurrent.FutureTask.get(Unknown Source)  
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)  
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    at org.apache.catalina.startup.Catalina.start(Catalina.java:689)  
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
    at java.lang.reflect.Method.invoke(Unknown Source)  
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)  
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)  
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
    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(Unknown Source)  
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
    at java.lang.Thread.run(Unknown Source)  
Caused by: org.apache.catalina.LifecycleException: A child container failed during start  
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)  
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    ... 6 more  

十二月 09, 2014 2:21:25 下午 org.apache.catalina.startup.Catalina start  
严重: The required Server component failed to start so Tomcat is unable to start.  
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8006]]  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
    at org.apache.catalina.startup.Catalina.start(Catalina.java:689)  
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
    at java.lang.reflect.Method.invoke(Unknown Source)  
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)  
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)  
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    ... 7 more  
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)  
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    ... 9 more  
Caused by: org.apache.catalina.LifecycleException: A child container failed during start  
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)  
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)  
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)  
    ... 11 more  

十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol pause  
信息: Pausing ProtocolHandler ["http-bio-8081"]  
十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol pause  
信息: Pausing ProtocolHandler ["ajp-bio-8010"]  
十二月 09, 2014 2:21:25 下午 org.apache.catalina.core.StandardService stopInternal  
信息: Stopping service Catalina  
十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol destroy  
信息: Destroying ProtocolHandler ["http-bio-8081"]  
十二月 09, 2014 2:21:25 下午 org.apache.coyote.AbstractProtocol destroy  
信息: Destroying ProtocolHandler ["ajp-bio-8010"]  

解决方法:
解决这个问题的关键在于错误信息中的:

Servlet mapping specifies an unknown servlet name Action  

打开项目下的“src\main\webapp\WEB-INF\web.xml”文件,查找类似下面的节点:

<servlet-mapping>  
    <servlet-name>Action</servlet-name>  
    <url-pattern>/public/Action</url-pattern>  
</servlet-mapping>  

将这个节点删除,问题就解决了。

从中我也学到了,要多看错误提示,从错误提示中找线索、找规律,例如上面的 错误提示,在严重错误下面 有caused by….
而这其中就有有用的提示。也算是 一个小教训。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值