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

SpringBoot整合Swagger遇Bean创建失败及HttpStatusCode类缺失错误求助

SpringBoot 3.3.4 整合Swagger启动失败问题解决

问题根源

  1. 版本兼容性不匹配:
    SpringBoot 3.3.4依赖Spring 6.x,org.springframework.http.HttpStatusCode是Spring 6新增的类,但springfox-swagger2 3.0.0仅适配Spring 5.x,无法识别该类,直接触发找不到类的异常。
  2. 两套Swagger实现冲突:
    springdoc-openapi和springfox是完全独立的Swagger集成方案,同时引入会导致大量Bean定义冲突,进一步加剧启动失败问题。

解决步骤

1. 清理冲突依赖

直接移除springfox-swagger-ui、springfox-swagger2 3.0.0的依赖,仅保留springdoc-openapi-starter-webmvc-ui即可——springdoc是专门为SpringBoot 3+适配的Swagger工具,能完全满足文档生成需求。

Maven依赖示例:

<!-- 仅保留springdoc核心依赖 -->
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.6.0</version>
</dependency>

2. 调整Swagger配置类

如果原有配置类是基于springfox编写的,改为springdoc的规范格式,示例如下:

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class OpenApiConfig {
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("项目API文档")
                        .version("1.0.0")
                        .description("基于SpringBoot 3.3.4 + SpringDoc OpenAPI构建的接口文档"));
    }
}

3. 验证启动效果

启动项目后,访问http://localhost:你的项目端口/swagger-ui.html,即可正常打开Swagger文档页面。

额外提示

  • 原项目中使用的@Api、@ApiOperation等springfox注解,springdoc完全兼容,无需强制替换;若想升级,可逐步替换为OpenAPI 3的注解(如@Tag替代@Api,@Operation替代@ApiOperation)。
  • 检查项目中是否残留springfox相关配置类或Bean定义,避免启动时加载冲突组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:56:03