You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring、Spring Security与Spring WS匹配版本查询及依赖冲突解决

Spring、Spring WS与Spring Security兼容版本匹配及冲突解决

一、兼容版本组合

要解决跨项目的Spring版本冲突,必须保证Spring核心、Spring Security、Spring WS三者的版本完全兼容,结合你的场景,推荐以下匹配版本:

  • Spring Core(含spring-web、spring-expression等核心组件):5.0.9.RELEASE
  • Spring WS:3.0.4.RELEASE
  • Spring Security:5.0.9.RELEASE

版本匹配依据

  • Spring WS 3.0.x系列官方兼容Spring 5.0.x和5.1.x,但为了和第一个项目的Spring版本完全对齐,统一使用5.0.9.RELEASE可彻底避免war包嵌套带来的版本冲突。
  • Spring Security的版本与Spring Core版本强绑定,5.0.x系列的Spring Security完美适配Spring 5.0.x核心,不会引入不兼容的依赖。

二、解决Maven Enforcer校验失败问题

第二个项目切换到Spring 5.0.9.RELEASE后无法通过Enforcer校验,本质是Spring Security依赖会自动传递引入更高版本的Spring组件。通过Maven的dependencyManagement强制锁定所有Spring相关依赖版本即可解决:

<dependencyManagement>
    <dependencies>
        <!-- 锁定所有Spring核心组件版本 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.0.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.0.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>5.0.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.9.RELEASE</version>
        </dependency>

        <!-- 锁定Spring Security版本 -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>5.0.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>5.0.9.RELEASE</version>
        </dependency>

        <!-- 锁定Spring WS版本 -->
        <dependency>
            <groupId>org.springframework.ws</groupId>
            <artifactId>spring-ws-core</artifactId>
            <version>3.0.4.RELEASE</version>
        </dependency>
    </dependencies>
</dependencyManagement>

这个配置会强制所有依赖(包括传递依赖)使用指定版本,既满足Enforcer的版本校验规则,又不会出现spring-expression版本缺失或不一致导致的功能异常。

三、冲突验证

配置完成后,执行以下命令检查依赖树,确认所有Spring相关组件版本统一:

mvn dependency:tree

确保输出中没有出现Spring 5.1.1.RELEASE的依赖,所有Spring核心组件、Spring Security都是5.0.9.RELEASE,Spring WS保持3.0.4.RELEASE,此时再部署即可解决“存在多个spring_web片段”的冲突问题。

内容的提问来源于stack exchange,提问作者lovrodoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:55:21