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

SpringBoot集成springdoc报错:'swaggerWelcome'抛出异常求助

问题描述

我在SpringBoot项目中引入了如下org.springdoc依赖:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.0.2</version>
</dependency>

启动时出现如下错误:

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.resolveMethodArguments(AutowiredAnnotationBeanPostProcessor.java:759) ~[spring-beans-5.3.23.jar:5.3.23]
... 20 common frames omitted
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'indexPageTransformer' defined in class path resource [org/springdoc/webmvc/ui/SwaggerConfig.class]: Unsatisfied dependency expressed through method 'indexPageTransformer' parameter 3; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'swaggerWelcome' defined in class path resource [org/springdoc/webmvc/ui/SwaggerConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springdoc.webmvc.ui.SwaggerWelcomeWebMvc]: Factory method 'swaggerWelcome' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/HttpStatusCode
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.23.jar:5.3.23]

... 50 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springdoc.webmvc.ui.SwaggerWelcomeWebMvc]: Factory method 'swaggerWelcome' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/HttpStatusCode
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.23.jar:5.3.23]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.23.jar:5.3.23]
... 64 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/springframework/http/HttpStatusCode

我尝试更换springdoc-openapi-starter-webmvc-ui的版本,但始终出现相同错误,请求帮助。

解决方案
  • 核心原因:org.springframework.http.HttpStatusCode是Spring Framework 6.0及以上版本才引入的类,当前项目使用的Spring Framework 5.3.23不支持该类;而springdoc-openapi-starter-webmvc-ui 2.x版本要求依赖Spring Boot 3.x(对应Spring Framework 6.x),版本不匹配导致报错。

  • 两种解决路径:

    1. 不升级Spring Boot版本:改用springdoc-openapi的1.x系列适配版本,artifactId为springdoc-openapi-ui,依赖配置示例:
      <dependency>
          <groupId>org.springdoc</groupId>
          <artifactId>springdoc-openapi-ui</artifactId>
          <version>1.6.14</version> <!-- 适配Spring Boot 2.7.x,可根据你的Spring Boot具体版本调整 -->
      </dependency>
      
    2. 升级Spring Boot版本:将项目的Spring Boot版本升级到3.x及以上,这样Spring Framework会同步升级到6.x,自动包含HttpStatusCode类,即可兼容springdoc-openapi-starter-webmvc-ui 2.x版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:15:00