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

SpringBoot3集成springdoc启动报错:ObjectMapperProvider构造方法不存在

SpringBoot 3.0.3集成OpenApi 3启动失败问题解决

问题说明

在SpringBoot 3.0.3项目中引入springdoc-openapi-starter-webmvc-ui 2.0.4依赖后,启动应用时出现上下文初始化失败,抛出UnsatisfiedDependencyException,错误提示org.springdoc.core.providers.ObjectMapperProvider的构造方法void org.springdoc.core.providers.ObjectMapperProvider.<init>(org.springdoc.core.properties.SpringDocConfigProperties)不存在。经排查,类路径中同时存在springdoc-openapi-starter-common 2.1.0和springdoc-openapi-common 1.6.15两个版本的Jar包,版本不兼容导致该问题。

解决方案

  • 统一springdoc依赖版本与类型:springdoc的starter系列(适配SpringBoot 3.x)和旧版非starter包(适配SpringBoot 2.x)API存在差异,必须统一使用同一系列且版本一致的依赖。
    • 若使用Maven,在springdoc-openapi-starter-webmvc-ui依赖中排除旧版springdoc-openapi-common:
      <dependency>
          <groupId>org.springdoc</groupId>
          <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
          <version>2.0.4</version>
          <exclusions>
              <exclusion>
                  <groupId>org.springdoc</groupId>
                  <artifactId>springdoc-openapi-common</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      
    • 删除项目中直接引入的springdoc-openapi-common依赖,改用同版本的springdoc-openapi-starter-common:
      <dependency>
          <groupId>org.springdoc</groupId>
          <artifactId>springdoc-openapi-starter-common</artifactId>
          <version>2.0.4</version>
      </dependency>
      
  • 排查依赖传递:执行依赖分析命令确认版本一致性
    • Maven:mvn dependency:tree
    • Gradle:./gradlew dependencies
      从输出中检查所有springdoc相关依赖,确保没有混合不同系列或版本的包。
  • 确认版本适配关系:SpringBoot 3.x必须搭配springdoc v2.x的starter系列依赖,v1.x的非starter包仅适配SpringBoot 2.x,两者核心类的构造方法等定义不同,是引发该错误的根本原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:33:14