场景复现:
-
knife4j-openapi3-jakarta-spring-boot-starter版本
com.github.xiaoymin knife4j-openapi3-jakarta-spring-boot-starter 4.5.0 -
原来使用springboot3.3.5版本,先升级到3.4.0版本
-
通过http://ip:port/doc.html访问接口文档发现访问/v3/api-docs接口时报
Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)
通过分析异常日志发现是ControllerAdviceBean类报错,在springboot3.3.5时spring-web版本是6.1.14,springboot3.4版本是6.2.0版本。
通过springboot全局异常捕获堆栈信息发现:
org.springdoc.core.service.GenericResponseService.lambda$getGenericMapResponse$8(GenericResponseService.java:702)
GenericResponseService类是在如下包:
<!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-common -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi