Spring Boot 2.4.2项目启动Tomcat出现AbstractMethodError错误如何解决
问题根因
java.lang.AbstractMethodError属于典型的依赖版本不兼容错误。Spring Boot 2.4.2 要求配套的Spring Framework版本必须为5.3.3及以上,你项目中存在低版本的Spring Core/Spring Context依赖,和Spring Boot 2.4.2提供的类逻辑不匹配,导致运行时找不到对应方法。
解决方案
- 排查父依赖配置
检查pom.xml(Maven)或build.gradle(Gradle)中是否显式指定了spring-core、spring-context、spring-web等Spring Framework相关依赖的版本。如果有直接删除版本号,继承Spring Boot父pom默认管理的版本即可。
如果你未使用Spring Boot父pom,需手动将所有Spring Framework依赖的版本统一设置为5.3.3,禁止不同Spring模块版本混用。 - 排查传递依赖冲突
执行Maven命令mvn dependency:tree(Gradle执行gradle dependencies)打印项目完整依赖树,搜索所有org.springframework:spring-*开头的依赖,确认是否存在版本低于5.3.3的包。如果找到低版本包,对引入该包的第三方依赖添加排除规则,过滤掉冲突的Spring依赖。
参考Maven排除配置:<dependency> <groupId>com.xxx</groupId> <artifactId>third-party-package</artifactId> <version>x.x.x</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> </exclusions> </dependency> - 检查STS运行配置
打开STS的「Window - Preferences - Spring - Boot」设置页,确认当前项目关联的Spring Boot版本和pom文件中声明的2.4.2版本一致,避免使用STS默认的其他版本运行项目。 - 清理项目缓存
右键项目选择「Maven - Update Project」,勾选「Force Update of Snapshots/Releases」执行强制更新,之后重启STS再启动项目验证。
内容的提问来源于stack exchange,提问作者Neela
相关产品推荐
相关产品推荐

