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

Spring 3升级后Swagger 3导入失败,求解决方案

Spring Boot 3.x升级后Swagger 3依赖解析失败的解决方案

核心问题分析

你的pom.xml存在两个致命问题:

  1. Springfox与Springdoc冲突:Springfox 3.0.0已停止维护,且不兼容Spring Boot 3.x(Spring Boot 3基于Jakarta EE API,Springfox仍使用旧的javax命名空间),同时引入Springfox和Springdoc(OpenAPI官方适配方案)会导致依赖混乱。
  2. Swagger依赖版本不匹配:单独引入的swagger-annotations/swagger-models 2.2.15是Swagger 2.x版本,而OpenAPI生成的类使用的是Swagger 3.x(OpenAPI 3.0)的注解,版本不匹配导致找不到依赖。

修复步骤

  1. 移除所有Springfox依赖
    直接删除springfox-swagger2相关依赖,Spring Boot 3.x下不需要Springfox,Springdoc是官方推荐的替代方案。

  2. 清理冗余的Swagger依赖
    删除单独引入的swagger-annotations和swagger-models,Springdoc starter已经包含了兼容OpenAPI 3.0的注解和模型依赖,单独引入旧版本会引发冲突。

  3. 修正后的依赖配置
    只保留Springdoc的starter依赖即可:

    <properties>
        <springdoc.version>2.5.0</springdoc.version>
    </properties>
    
    <dependencies>
        <!-- Springdoc OpenAPI 3.x 适配Spring Boot 3.x -->
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
            <version>${springdoc.version}</version>
        </dependency>
    </dependencies>
    

额外排查建议

  • 执行mvn clean install -U强制清理本地仓库缓存并重新拉取依赖,避免旧缓存导致的依赖异常。
  • 运行mvn dependency:tree对比正常工作的应用的依赖树,找出两个项目中Swagger/OpenAPI相关依赖的差异,重点检查传递依赖的版本。
  • 确认OpenAPI生成工具的配置,确保生成的类使用的是io.swagger.v3.oas.annotations开头的Swagger 3.x注解,而非旧的io.swagger.annotations。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:15:02