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

来源:互联网 发布:知天下事打一生肖 编辑:程序博客网 时间:2024/06/05 11:54

启动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….
而这其中就有有用的提示。也算是 一个小教训。

0 0
原创粉丝点击