You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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):
    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.0.0</version>
        <scope>provided</scope>
    </dependency>
    
    手动管理jar包时,从Tomcat安装目录的lib文件夹中找到jakarta.servlet-api.jar,添加到项目依赖库,不要放入WEB-INF/lib避免冲突。
  • 验证JDK版本:Tomcat 10.x要求JDK 11及以上,确认项目使用的JDK版本符合要求,服务器配置中JRE路径正确。
  • 清理重建项目:执行项目清理(clean)和重新编译(compile)操作,清除缓存的类文件后再尝试启动。

内容的提问来源于stack exchange,提问作者rayudu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 10:04:51