如何用Maven升级Spring Framework至5.3.20?需修改哪些文件与依赖?
Spring 4.0.5.RELEASE 升级至 5.3.20 的Maven适配方案
你当前的pom.xml版本配置如下:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java-version>1.8</java-version> <org.springframework-version>4.0.5.RELEASE</org.springframework-version> <org.springframework-security-version>3.2.5.RELEASE</org.springframework-security-version> <org.apache.tiles-version>3.0.4</org.apache.tiles-version> <org.hibernate-version>4.2.15.Final</org.hibernate-version><!-- 4.3.5.Final --> <org.aspectj-version>1.6.10</org.aspectj-version> <org.slf4j-version>1.7.7</org.slf4j-version> <jackson.version>1.9.10</jackson.version> </properties>
一、核心版本修改
直接更新Spring Framework的版本号:
<org.springframework-version>5.3.20</org.springframework-version>
二、必须适配的其他依赖版本
Spring 5.3.x对周边依赖有明确版本要求,以下是必须调整的项:
- Spring Security:Spring 5.3与Security 5.5.x分支强绑定,替换为:
<org.springframework-security-version>5.5.7</org.springframework-security-version> - AspectJ:Spring 5.3需要AspectJ 1.9.x及以上版本,替换为:
<org.aspectj-version>1.9.7</org.aspectj-version> - Jackson:Spring 5.3不再兼容Jackson 1.x,必须升级到2.x分支,推荐稳定版:
<jackson.version>2.13.3</jackson.version> - SLF4J:升级到同分支稳定高版本,避免日志适配问题:
<org.slf4j-version>1.7.36</org.slf4j-version>
三、建议升级的依赖版本
为提升兼容性和稳定性,建议同步升级以下依赖:
- Hibernate:Spring 5.3兼容Hibernate 5.x,替换为:
若不想大幅改动,至少升级到4.3.x最新稳定版(如4.3.11.Final)<org.hibernate-version>5.6.14.Final</org.hibernate-version> - Apache Tiles:升级到3.x分支稳定版,适配Spring 5的Web模块:
<org.apache.tiles-version>3.0.8</org.apache.tiles-version>
四、需要调整的其他文件
- Spring配置文件(如
applicationContext.xml、dispatcher-servlet.xml):- 移除Spring 4中已废弃、Spring 5中删除的命名空间或标签(如旧事务配置、AOP标签)
- 更新已移除的类路径引用(如部分Hibernate整合类、Web视图解析类)
- 业务代码:
- 替换Spring 4过时API(如
WebMvcConfigurerAdapter改为实现WebMvcConfigurer接口) - 修正依赖升级导致的类方法签名变更问题
- 替换Spring 4过时API(如
五、升级注意事项
- 先执行
mvn clean compile检查编译错误,逐步修复依赖冲突或API问题 - 运行单元测试,验证核心功能正常
- 若遇依赖冲突,用
mvn dependency:tree分析依赖树,排除冲突的旧版本
内容的提问来源于stack exchange,提问作者Error 404
相关产品推荐
相关产品推荐

