子容器在启动 java.util.concurrent.ExecutionException 期间失败:
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/20797699/
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
A child container failed during start java.util.concurrent.ExecutionException:
提问by Raju Sharma
hi i am trying to run JAX-RS Web Service
project which contain sample hello world web service, but publishing it in the Tomcat Server 7.0
shows following errors.
嗨,我正在尝试运行JAX-RS Web Service
包含示例 hello world Web 服务的项目,但在Tomcat Server 7.0
显示以下错误时将其发布。
Below are stacks-trace from the console in eclipse.
以下是来自 eclipse 控制台的堆栈跟踪。
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Example]]
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:800)
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[/Example]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.NoClassDefFoundError: com/google/common/base/Function
at org.glassfish.jersey.internal.ServiceFinder.<clinit>(ServiceFinder.java:165)
at org.glassfish.jersey.servlet.internal.ServletContainerProviderFactory.getAllServletContainerProviders(ServletContainerProviderFactory.java:66)
at org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer.onStartup(JerseyServletContainerInitializer.java:132)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5423)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
... 11 more
Dec 27, 2013 2:21:59 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(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:302)
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:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:691)
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:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
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:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Dec 27, 2013 2:21:59 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:691)
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:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
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:732)
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:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more
Please anyone help me to find out what is problem ?
请任何人帮我找出问题所在?
采纳答案by Dmitry Gulin
In case you are using Jersey 2, you can download Jersey JAX-RS 2.0 RI bundle from their site and add JARs from ALLsubfolders (api, ext and lib) to the WEB-INF/lib folder of your project.
In my case, adding guava-14.0.1.jar fixed that particular ClassNotFoundException, but started failing on another unresolved reference, so I just dropped everything in my lib folder and managed to start the server without any problems.
如果您使用的是 Jersey 2,您可以从他们的站点下载 Jersey JAX-RS 2.0 RI 包,并将所有子文件夹(api、ext 和 lib)中的JAR 添加到您项目的 WEB-INF/lib 文件夹中。
在我的情况下,添加 guava-14.0.1.jar 修复了该特定的 ClassNotFoundException,但在另一个未解析的引用上开始失败,所以我只是将所有内容都放在我的 lib 文件夹中,并设法毫无问题地启动了服务器。
回答by Jon Skeet
Well this is the root cause:
嗯,这是根本原因:
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
... so it looks like you're probably missing a dependency jar file (Guava, by the looks of it) from the classpath of the relevant classloader. If you're following a "hello world" tutorial, double check any steps which specify where to put jar files.
...所以看起来您可能缺少相关类加载器的类路径中的依赖 jar 文件(Guava,从外观上看)。如果您正在学习“hello world”教程,请仔细检查指定放置 jar 文件的位置的所有步骤。
回答by Jon Skeet
It looks like you may missing some dependency Jar file in your project or in your container.
Jar file may be one of the below.
看起来您的项目或容器中可能缺少某些依赖 Jar 文件。
Jar 文件可能是以下文件之一。
google-collections-***.jar
google-collect-snapshot-***.jar
google-collections-1.0-***.jar
回答by Anu
Simply copy and save your project to other location and delete from the eclipse. later delete the Tomcat from eclipse and make sure all the entries of your project gets removed from the Tomcat directory(server.xml file) and from your deploy path: wtpwebapps (in mine case).
只需将您的项目复制并保存到其他位置,然后从 Eclipse 中删除即可。稍后从 Eclipse 中删除 Tomcat,并确保从 Tomcat 目录(server.xml 文件)和部署路径中删除项目的所有条目:wtpwebapps(在我的情况下)。
Once done with clean up and integrate Tomcat with eclipse again, and start the Tomcat.
完成清理并再次将 Tomcat 与 Eclipse 集成,然后启动 Tomcat。
Bingo!!! it works.
答对了!!!有用。