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),版本不匹配导致报错。两种解决路径:
- 不升级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> - 升级Spring Boot版本:将项目的Spring Boot版本升级到3.x及以上,这样Spring Framework会同步升级到6.x,自动包含
HttpStatusCode类,即可兼容springdoc-openapi-starter-webmvc-ui 2.x版本。
- 不升级Spring Boot版本:改用springdoc-openapi的1.x系列适配版本,artifactId为
内容的提问来源于stack exchange,提问作者Soufiane D
相关产品推荐
相关产品推荐

