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

Spring Boot升级至2.7.0后启动报错致测试用例全失败如何解决

问题原因

Spring Boot 2.7.0版本默认将Spring MVC的路径匹配实现从AntPathMatcher替换为PathPatternParser,你引入的springfox 3.0.0版本没有适配这个变更,初始化文档插件时会读取空的路径匹配条件对象,直接触发空指针报错。
另外你的依赖中同时存在Springfox、Springdoc两个功能完全重叠的Swagger/OpenAPI实现,本身就存在依赖冲突、资源路径冲突的隐患。

修复方法

方案1(长期推荐)

Springfox已经停止维护多年,不会适配高版本Spring Boot,直接移除所有Springfox相关依赖,仅保留维护活跃的Springdoc即可:

  • 打开build.gradle,删除以下两行依赖配置:
implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '3.0.0'
implementation 'io.springfox:springfox-boot-starter:3.0.0'
  • 你当前引入的springdoc-openapi-ui:1.6.9原生兼容Spring Boot 2.7.x版本,删除依赖后重新构建项目即可正常启动,Swagger页面默认访问路径为/swagger-ui.html。

方案2(临时兼容)

如果短期无法完成Springdoc迁移,可修改配置将Spring MVC路径匹配策略切回旧实现,绕过Springfox的兼容问题:
如果使用application.yml配置,添加如下内容:

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

如果使用application.properties配置,添加如下内容:

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

注意:该方案仅为临时兼容手段,后续Spring Boot更高版本会逐步下线AntPathMatcher相关支持,长期运行仍建议迁移到Springdoc。

额外排查点

不要在同一个项目中同时保留Springfox和Springdoc依赖,即使解决了当前启动报错,也可能出现接口重复扫描、文档字段错乱、静态资源拦截等异常问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:27:35