servlet整合tomcat项目启动报错解决,org.apache.tomcat.util.descriptor.web.WebXml.setVersion

报错如图所示,项目启动会报错

java 复制代码
08-Jun-2026 20:24:36.377 警告 [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion 未知版本字符串 [4.0]。将使用默认版本。
08-Jun-2026 20:24:36.452 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
	org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
08-Jun-2026 20:24:36.454 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method manageApp
	java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
08-Jun-2026 20:24:36.458 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method createStandardContext
	javax.management.RuntimeOperationsException: Exception invoking method manageApp
		at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:294)

查阅了资料,显示应该是路径配置的问题,检查了项目,路径配置前都加了"/",不是这里的问题,又看了一下原来是路径配置重复了,不仅在web.xml进行配置了,还用注解又配置了一遍,如下图这样,进行了双重配置,删掉一种方式,只留下一种,报错就解决啦

只需要一种路径访问配置方式即可,如果只是配置路径,使用注解的方式就可以,如果还有其他复杂的操作,推荐在web.xml中进行配置

相关推荐
Wenzar_1 小时前
用 JAX 构建可微分光子神经网络仿真器
java·人工智能·深度学习·神经网络
cfm_29141 小时前
RocksDB 初步了解
java
江华森1 小时前
Jenkins CI/CD 实战博客教程
servlet·ci/cd·jenkins
凡人叶枫2 小时前
Effective C++ 条款02:宁可以编译器替换预处理器
java·linux·c语言·开发语言·c++
ANnianStriver2 小时前
PetLumina 03 — 后端目录重构与 Web 管理后台搭建
java·前端·ai·重构·ai编程·claude code
一个儒雅随和的男子2 小时前
限流算法详细剖析
java·服务器·算法
我是一颗柠檬2 小时前
【Java项目技术亮点】分布式锁实现与优化:从Redisson到ZooKeeper,彻底搞懂分布式锁的底层原理
java·redis·分布式·中间件·java-zookeeper
ANnianStriver2 小时前
PetLumina 04 — 管理后台 UI 全面升级
java·ui·ai编程
winlife_2 小时前
全程用 AI 做一款商业级手游 · EP9 收尾与复盘:做到了哪,没做到哪,边界在哪
java·开发语言·人工智能·unity·ai编程·游戏开发·mcp