Not support Springboot 3.5.x
Latest version 4.5.0 not support springboot 3.5.x
我也遇到了这个问题。
问题描述
目前的情况是使用 SpringBoot 3.5.4 和 knife4j 4.5.0 ,启动时不会出现任何报错,当访问API文档后会出现『jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.
原因分析
原因在于 knife4j 依赖的 springdoc 系列库2.3.0版本中 org.springdoc.core.service.GenericResponseService 类的 getGenericMapResponse() 方法调用到了 spring-web 库 org.springframework.web.method.ControllerAdviceBean 类,而 spring-web 新版本的这个类的构造函数发生了改变。
建议
升级所用到的各依赖库的版本
也遇到此问题,希望尽快升级
希望尽快升级
希望尽快升级适配
希望尽快升级适配
希望尽快升级适配,我也遇到了
希望尽快升级适配
我也遇到了,希望尽快升级
SpringBoot 3.5.8 knife4j-openapi3-jakarta-spring-boot-starter 4.5.0 遇到一样的问题
<dependency>
<groupId>com.github.xingfudeshi</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.6.0</version>
</dependency>
这个作者虽然暂时解决了这个问题,但是引发了新的问题,basic无法开启等一些其他问题
@xiaoymin 希望尽快升级
希望尽快升级适配
临时办法:先排出springdoc-openapi-starter-webmvc-ui,再添加
<!-- knife4j & SpringDoc -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.5.0</version>
<exclusions>
<exclusion>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.8.13</version>
</dependency>
关闭文档增强功能(knife4j.enable = false)
=================================================
Temporary solution: First remove springdoc openapi-starter-webmvc-ui, then add
<!-- knife4j & SpringDoc -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.5.0</version>
<exclusions>
<exclusion>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.8.13</version>
</dependency>
Turn off document enhancement feature (knife4j. enable=false)