启动java.util.concurrent.ExecutionException期间子容器失败
我试图创建/运行一个基本的JSP并遇到以下错误。 我看到其他人也有类似的问题,但是,我还没有找到(或正确实施)手头问题的解决方案。 任何帮助,将不胜感激!
SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SimpleServletProject]] at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SimpleServletProject]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) ... 6 more Caused by: java.lang.NoClassDefFoundError: HttpServletRequest at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2693) at java.lang.Class.getDeclaredMethods(Class.java:1967) at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127) at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:287) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65) at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:415) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:892) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386) 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:5380) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 more Caused by: java.lang.ClassNotFoundException: HttpServletRequest at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) ... 20 more Jan 22, 2015 9:04:06 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:192) 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:739) 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:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) 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:1575) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 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:816) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 6 more Jan 22, 2015 9:04:06 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:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) 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:739) 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 Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8080"] Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["ajp-bio-8009"] Jan 22, 2015 9:04:06 PM org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-bio-8080"] Jan 22, 2015 9:04:06 PM org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
我想你会在这里找到类似的问题:
java.lang.ClassNotFoundException:HttpServletRequest
也许可以回答。 希望这可以帮助。
您必须将servlet-api.jar
与war文件中的其他库打包在一起。 您可以通过打开war文件并导航到WEB-INF / lib文件夹来validation这一点。
理想情况下,您不应该提供servlet-api jar。 在您的情况下,容器Tomcat负责在部署时为您的应用程序提供容器。 如果您尝试提供它,则由于版本不匹配等问题而出现。最佳做法是避免包装它。 从WEB-INF / lib中删除它。
附加信息
如果您使用maven作为包装,那么只需添加带有依赖项的provided
标签,maven将确保不将其打包到最终的war文件中。 就像是
.. ... ... provided
您的webapp在其/ WEB-INF / lib中具有servletcontainer特定的库,如servlet-api.jar文件。 这个不对。
全部删除它们。
/ WEB-INF / lib应仅包含特定于webapp的库,而不应包含servletcontainer。 servletcontainer(如Tomcat)是应该已经提供servletcontainer特定库的人。
如果你从一个不同的make / version的任意servletcontainer提供库,你会遇到这种问题,因为你的webapp不能在不同make /版本的servletcontainer上运行,而不是那些库源自。
如何解决:在Eclipse中右键单击eclipse中的项目属性 – > Java构建路径 – >添加库 – >服务器运行时库 – > Apache Tomcat
Im Maven项目: –
在pom.xml文件中添加follewing行
javax.servlet servlet-api ${default.javax.servlet.version} provided javax.servlet.jsp jsp-api ${default.javax.servlet.jsp.version} provided
我遇到了类似的问题,这是因为我在.java文件和web.xml中编写了WebServlet Path。 从任何一个位置删除它对我来说很好。
在.java文件中
@WebServlet("/index1.jsp")
并在web.xml中
Logout tpc.Logout Logout /index1.jsp
删除名为Servers(或Servers1,包含server.xml的Servers2)的项目,在Package Explorer(工作区)中找到它
从Eclipse中删除服务器:转到Window> Preferences> Server> Runtime Environment,这里从eclipse中删除你正在使用的服务器并再次添加它(这样做会在Eclipse中创建一个新的Server项目文件夹),
从Project中删除服务器:还删除项目中的服务器(构建路径>配置路径> Java构建路径)并再次添加。
现在你有一个新的Server项目,它的server.xml上没有Multiple Context,只删除server.xml中的重复路径解决了exixting问题,但仍然服务器dint启动,通过执行此Server启动(Apache Tomcat v7)并正常工作
而且我不知道这是否是一个好习惯,我是编程的先驱。
我尝试使用http servlet,当我编写重复的@WebServlet时,我发现了这个问题,我遇到了这个问题。在删除或更改@WebServlet值后,它正在运行。
1.Class
@WebServlet("/display") public class MyFirst extends HttpServlet {
2.Class
@WebServlet("/display") public class MySecond extends HttpServlet {
检查JAVA_HOME是否设置为1.7或更低。 因为tomcat 7与jdk 1.8不兼容
这对我有用
这对我有用:
1)将commons-logging.jar添加到WEB-INF / lib文件夹
2)将此jar添加为maven依赖项,例如将其添加到pom.xml:
commons-logging commons-logging 1.2
3)Maven安装
4)运行服务器。
希望能帮助到你。
我遇到类似日志的类似问题。 我使用JDK 1.6和apache tomcat 7.将java_home设置为1.7解决了这个问题。
有些时候由于java版本和tomcat版本不兼容而出现此问题。选择两者的兼容版本。
面对同样的问题。 将JRE更改为正确的1.8版本并执行maven clean并构建解决问题。 您可能需要更改Project Facet并validation正确的路径。
- 下载commons-logging-1.1.1.jar 。
- 转到您的项目,构建路径,配置构建路径,Java构建路径。
- 添加外部jar ..添加commons-logging-1.1.1.jar
- 点击申请,好的
- 转到项目,属性,部署程序集,单击添加,Java构建路径条目,然后选择commons logging jar,ok ,, apply,ok ..
- 删除服务器,清理ur proejct,添加服务器,运行项目。
添加了AWS依赖项并出现此错误。 当我从pom中删除它时,错误消失了。 可能你可能有相同的情况。
- 如何设置rmiregistry使用的类路径?
- Wildfly 8.1 ClassNotFound org.apache.http.conn.ClientConnectionManager
- IntelliJ IDEA:ClassNotFoundException如果运行Debug,执行/运行确实有效
- 如何捕获java.lang.NoClassDefFoundError?
- readobject方法抛出ClassNotFoundException
- ClassNotFoundException:twitter4j.conf.PropertyConfigurationFactory:Android
- ClassNotFoundException在修改后的SimpleShortestPathsVertex上运行GiraphRunner
- 带有已部署的动态Web项目的WebSphere ClassNotFoundException
- 没有在路径DexPathList上找到类