Spring WebMvc 6.1.13中MockMVC standaloneSetup构建报错求助
解决Spring WebMvc 6.1.13升级后的依赖冲突问题
核心原因
Spring WebMvc 6.1.13属于Spring Framework 6.x体系,必须搭配Spring Boot 3.x及以上版本使用。你只单独升级了Spring WebMvc,但项目里其他依赖(比如Spring Boot核心、测试组件)还是旧版,导致版本不兼容,触发了NoSuchMethodError和Bean创建异常。
修复步骤
- 统一Spring Boot版本到3.x
修改pom.xml里的Spring Boot父依赖,用和Spring 6.1.13兼容的版本(比如Spring Boot 3.2.x系列):<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.10</version> <relativePath/> </parent> - 移除单独指定的Spring WebMvc依赖
Spring Boot的spring-boot-starter-web已经包含了适配好的Spring WebMvc,不用单独加版本。删掉之前手动指定的Spring WebMvc依赖:<!-- 删掉这类单独的依赖配置 --> <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>6.1.13</version> </dependency> --> - 同步测试依赖版本
确保测试依赖也由Spring Boot父依赖管理,避免MockMvc相关API版本冲突:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
验证
执行mvn clean install重新构建,检查报错是否消失;启动应用,确认requestMappingHandlerAdapter能正常初始化。
内容的提问来源于stack exchange,提问作者Meenal
相关产品推荐
相关产品推荐

