Tomcat部署Spring项目报错:上下文路径/web-customer-rest-demo应用无法启动
问题根因
该部署报错的核心原因是Spring框架依赖版本冲突,结合pom配置和错误日志可以明确判断:
- 你在pom.xml的properties节点中定义了全局Spring版本
springframework.version=5.0.6.RELEASE,spring-webmvc、spring-tx、spring-orm等核心Spring依赖都使用了该版本 - 但你单独为spring-context指定了
5.3.9的高版本,高版本spring-context依赖Spring 5.3版本新增的org.springframework.core.metrics.ApplicationStartup类,而5.0.6版本的spring-core包中不存在该类,最终触发类加载失败,导致应用无法启动。
修复方案
- 删除pom.xml中单独声明的冲突spring-context依赖:
<!-- 移除以下重复且版本不一致的依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.9</version> <type>jar</type> </dependency>
spring-webmvc已经传递依赖了spring-context组件,无需额外单独引入,删除后会自动匹配全局统一的5.0.6.RELEASE版本,消除版本冲突。
(可选)若你需要使用5.3.9版本的Spring框架,直接修改properties节点中的
springframework.version值为5.3.9即可,所有Spring相关依赖会自动升级到统一版本,不会出现版本不兼容问题。完成配置修改后执行
mvn clean install重新构建项目,再部署到Tomcat即可正常启动。
内容的提问来源于stack exchange,提问作者Summit2
相关产品推荐
相关产品推荐

