Tomcat v10.1本地服务器启动失败求助:组件启动异常
控制台错误日志及服务器启动失败情况
启动提示:Server Tomcat v10.1 Server at localhost failed to start.
完整错误堆栈:
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Logistic]] org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Logistic]] at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:419) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:186) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866) ... 21 more Caused by: java.lang.NoClassDefFoundError: HttpServletRequest at java.base/java.lang.Class.getDeclaredMethods0(Native Method) at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3402) at java.base/java.lang.Class.getDeclaredMethods(Class.java:2504) at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:121) at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:213) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:137) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:68) at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:319) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:964) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:290) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:114) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4782) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171) ... 27 more Caused by: java.lang.ClassNotFoundException: HttpServletRequest at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1353) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1165) ... 40 more Mar 18, 2024 9:25:18 PM org.apache.catalina.core.ContainerBase startInternal SEVERE: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: A child container failed during start
问题描述:
我尝试启动服务器时失败,无法理解该错误,已添加服务器但仍无法启动,希望能解决问题让服务器正常运行。
解决方案
- 检查Servlet API依赖:Tomcat 10.x基于Jakarta EE,需确保项目依赖正确。Maven项目添加如下依赖,scope设为
provided(Tomcat自带该类库,无需打包到WAR):
手动管理jar包时,从Tomcat安装目录的<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> <scope>provided</scope> </dependency>lib文件夹中找到jakarta.servlet-api.jar,添加到项目依赖库,不要放入WEB-INF/lib避免冲突。 - 验证JDK版本:Tomcat 10.x要求JDK 11及以上,确认项目使用的JDK版本符合要求,服务器配置中JRE路径正确。
- 清理重建项目:执行项目清理(clean)和重新编译(compile)操作,清除缓存的类文件后再尝试启动。
内容的提问来源于stack exchange,提问作者rayudu
相关产品推荐
相关产品推荐

