Java org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22997843/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 19:53:26  来源:igfitidea点击:

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

javaeclipsetomcat7

提问by tylerjw

When trying to start tomcat I get this error. What could be the cause of this?

尝试启动 tomcat 时出现此错误。这可能是什么原因?

I've read through a bunch of similar posts and I can't seem to find anything that's a help. I'm not missing a .jarfile as far as I can tell.

我已经阅读了一堆类似的帖子,但似乎找不到任何有帮助的东西。据我.jar所知,我没有遗漏一个文件。

SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:188)
    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(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: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    ... 6 more
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;
    at org.apache.catalina.startup.WebappServiceLoader.load(WebappServiceLoader.java:90)
    at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1543)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1265)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:873)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:371)
    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

Apr 10, 2014 1:53:30 PM org.apache.catalina.core.ContainerBase startInternal
SEVERE: 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(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:188)
    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(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    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(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: 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

Apr 10, 2014 1:53:30 PM org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
    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(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    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

Here are the .jar files that are included in my project:

以下是我的项目中包含的 .jar 文件:

annotations-api.jar     
el-api.jar          
robotium-solo-5.0.1.jar
catalina-ant.jar        
gson-2.2.4-javadoc.jar      
servlet-api.jar
catalina-ha.jar         
gson-2.2.4-sources.jar      
slf4j-api-1.7.5.jar
catalina-tribes.jar     
gson-2.2.4.jar          
slf4j-api-1.7.6.jar
catalina.jar            
Hymanson-core-asl-1.9.11.jar 
slf4j-log4j12-1.4.3.jar
commons-io-2.4-javadoc.jar  
Hymanson-mapper-asl-1.9.11.jar   
tomcat-api.jar
commons-io-2.4-sources.jar  
jasper-el.jar           
tomcat-coyote.jar
commons-io-2.4-test-sources.jar 
jasper-runtime-5.5.12.jar   
tomcat-dbcp.jar
commons-io-2.4-tests.jar    
jasper.jar          
tomcat-i18n-es.jar
commons-io-2.4.jar      
json-path-0.9.0-javadoc.jar 
tomcat-i18n-fr.jar
commons-lang3-3.3.1-javadoc.jar 
json-path-0.9.0-sources.jar 
tomcat-i18n-ja.jar
commons-lang3-3.3.1.jar     
json-path-0.9.0.jar     
tomcat-jdbc.jar
commons-logging-1.1.1.jar   
json-smart-1.2.jar      
tomcat-util.jar
commons-logging-api-1.0.4.jar   
jsp-api.jar         
tomcat7-websocket.jar
ecj-4.3.1.jar           
loremipsum-1.0.jar      
websocket-api.jar


Update:

更新:

After uninstalling and reinstalling tomcat my problem was fixed. Weird.

卸载并重新安装tomcat后,我的问题得到了解决。奇怪的。

回答by cgi

servlet-api.jar - is wrong in your list of application libs. This jar file (or evivalent) must be supplied by servlet container (Tomcat).

servlet-api.jar - 在您的应用程序库列表中是错误的。这个 jar 文件(或 evivalent)必须由 servlet 容器(Tomcat)提供。

回答by pankaj.kapadiya

I have used "invoker" in my web.xml and after too much investigation I found that its no longer after tomcat 6.

我在我的 web.xml 中使用了“invoker”,经过过多的调查,我发现它不再是在 tomcat 6 之后。

Remove this invoker and mapped all the servlet with /servlet/servlet.class.fully.qualified.name in servlet-mapping

删除此调用程序并在 servlet-mapping 中使用 /servlet/servlet.class.fully.qualified.name 映射所有 servlet

回答by weiteng xu

Maybe you forgot "/" in servlet-mapping. Like this:

也许您忘记了 servlet 映射中的“/”。像这样:

<servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>test</url-pattern>
</servlet-mapping>