Spring Framework 5.2.22.RELEASE兼容的Spring Security版本查询
Spring Framework 5.2.22.RELEASE 适配 Spring Security 版本说明
- 官方版本对齐规则下,Spring Security 5.2.x 全系列原生适配 Spring Framework 5.2.x 分支,针对你使用的5.2.22.RELEASE版本Spring Framework,最稳定的兼容选择是5.2.x分支的最终维护版
5.2.15.RELEASE,不存在API签名不匹配、安全补丁缺失的问题。 - 你当前项目首先存在Spring核心包版本不统一的问题:
spring-orm-4.3.2.RELEASE.jar、spring-tx-4.3.2.RELEASE.jar属于4.3.x旧分支,和其余5.2.22版本的核心包存在明显API断层,必须先将这两个包升级到5.2.22.RELEASE,否则调整Spring Security版本也无法解决运行时类缺失、方法不匹配的异常。 - 现有Spring Security依赖跨版本混装问题明显:从5.0.0、5.1.6到5.2.0的包同时存在,跨了3个迭代小版本,模块间内部接口已经有变更,必须将所有Spring Security相关JAR包统一到同一个版本号。
修正后的依赖参考
统一对齐的Spring核心依赖(全部为5.2.22.RELEASE)
spring-web-5.2.22.RELEASE.jar spring-beans-5.2.22.RELEASE.jar spring-core-5.2.22.RELEASE.jar spring-jcl-5.2.22.RELEASE.jar spring-webmvc-5.2.22.RELEASE.jar spring-aop-5.2.22.RELEASE.jar spring-expression-5.2.22.RELEASE.jar spring-context-5.2.22.RELEASE.jar spring-orm-5.2.22.RELEASE.jar spring-tx-5.2.22.RELEASE.jar spring-oxm-5.2.22.RELEASE.jar
统一对齐的Spring Security依赖(全部为5.2.15.RELEASE)
注意:旧的独立发布包spring-security-oauth2-2.3.8.RELEASE.jar属于已经停止维护的独立OAuth2项目,和Spring Security 5.2.x主分支不兼容,5.2.x版本已经将OAuth2相关能力合并到主项目模块中,替换为对应模块即可:
spring-security-core-5.2.15.RELEASE.jar spring-security-web-5.2.15.RELEASE.jar spring-security-config-5.2.15.RELEASE.jar spring-security-taglibs-5.2.15.RELEASE.jar spring-security-acl-5.2.15.RELEASE.jar spring-security-oauth2-core-5.2.15.RELEASE.jar spring-security-oauth2-jose-5.2.15.RELEASE.jar spring-security-oauth2-client-5.2.15.RELEASE.jar spring-security-oauth2-resource-server-5.2.15.RELEASE.jar
提示:Spring、Spring Security的同项目模块间耦合度极高,禁止跨小版本混装同项目的不同模块包,否则运行时大概率触发
NoClassDefFoundError、NoSuchMethodError类加载异常。如果必须使用2.x版本的旧独立spring-security-oauth2包,需要将整套Spring Framework降级到4.3.x分支,这种方案安全补丁缺失,不推荐使用。
内容的提问来源于stack exchange,提问作者anonymous
相关产品推荐
相关产品推荐

