Spring Boot从1.5.x升级到2.3.x遇类找不到问题求助
Spring Boot 1.5.x 升级至2.3.x类缺失问题解决方案
问题本质
Spring Boot 2.x 对1.5.x的包结构、类定义做了大量重构,不是单纯补充依赖就能兼容的,你遇到的两个类问题都是版本间API变更导致的:
org.springframework.boot.bind.RelaxedPropertyResolver:该类在Spring Boot 2.x中已被移除,属于废弃APIorg.springframework.boot.autoconfigure.web.MultipartAutoConfiguration:类的包路径在2.x中发生了变更
具体解决措施
1. 替换 RelaxedPropertyResolver
Spring Boot 2.x 推荐使用以下两种方式替代该类的功能:
- 使用
org.springframework.boot.context.properties.bind.Binder工具类读取松散绑定的配置 - 通过
@ConfigurationProperties注解定义配置类,直接注入配置属性
2. 修正 MultipartAutoConfiguration 引用路径
在Spring Boot 2.x中,该类的包路径已调整为:org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration,将代码中旧的包路径替换为新路径即可。
3. 统一依赖版本
确保项目所有Spring Boot相关依赖使用2.3.x版本,避免混合1.5.x和2.3.x依赖导致冲突。推荐通过Spring Boot父依赖统一管理版本:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.x.RELEASE</version> <relativePath/> </parent>
4. 清理依赖缓存
执行Maven或Gradle的清理命令(如mvn clean),清除本地仓库中残留的旧版本依赖,避免依赖冲突。
内容的提问来源于stack exchange,提问作者prd
相关产品推荐
相关产品推荐

