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

升级SpringBoot至3.1.0后SpringFox依赖引发启动错误未解决求助

解决方案:SpringBoot 3.1.0 升级后 documentationPluginsBootstrapper 启动失败问题

核心原因:SpringFox 3.0.0 不支持 SpringBoot 3.x(SpringBoot 3.x 基于 Spring 6.x,而 SpringFox 最后一个版本3.0.0仅适配到 SpringBoot 2.x,且项目已停止维护)。以下是两种解决思路,优先推荐第一种:

方案一:替换为 SpringDoc OpenAPI(官方推荐替代方案)

SpringDoc 是 Spring 生态下当前活跃维护的 OpenAPI/Swagger 实现,完美支持 SpringBoot 3.x。

  1. 移除所有 SpringFox 依赖
    从你的 pom.xml(或 build.gradle)中删除所有 io.springfox 相关的依赖项。

  2. 添加 SpringDoc 依赖
    在 pom.xml 中加入适配 SpringBoot 3.x 的 SpringDoc 依赖:

    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
        <version>2.2.0</version> <!-- 可根据SpringBoot 3.1.0选择兼容的最新版本 -->
    </dependency>
    
  3. 迁移 Swagger 配置
    如果你之前有自定义的 SpringFox 配置类(比如 SwaggerConfig),需要替换为 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")
                            .description("API接口描述"));
        }
    }
    
  4. 移除无效配置
    删除 application.yml 中添加的 spring.mvc.pathmatch.matching-strategy: ant_path_matcher 配置,SpringDoc 原生支持 SpringBoot 3.x 的路径匹配策略。

完成以上步骤后,启动应用即可正常访问 API 文档(默认地址:http://localhost:端口号/swagger-ui.html)。

方案二:临时兼容 SpringFox(不推荐,因项目已停更)

如果暂时不想替换依赖,可通过手动注册 Bean 解决启动问题,但后续可能出现其他兼容性问题:

  1. 添加配置类,手动注入 documentationPluginsBootstrapper 所需的依赖:

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
    import springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper;
    import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
    
    @Configuration
    public class SpringFoxConfig {
        @Bean
        public DocumentationPluginsBootstrapper documentationPluginsBootstrapper(
                WebMvcRequestHandlerProvider webMvcRequestHandlerProvider,
                RequestMappingHandlerMapping requestMappingHandlerMapping) {
            return new DocumentationPluginsBootstrapper(webMvcRequestHandlerProvider, requestMappingHandlerMapping);
        }
    }
    
  2. 保留之前的 spring.mvc.pathmatch.matching-strategy: ant_path_matcher 配置。

但请注意,这种方式只是临时规避启动错误,SpringFox 已停止维护,后续可能出现更多与 SpringBoot 3.x 不兼容的问题,建议尽快迁移到 SpringDoc。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:35:17