knife4j icon indicating copy to clipboard operation
knife4j copied to clipboard

Not support Springboot 3.5.x

Open lavistta01 opened this issue 3 months ago • 13 comments

Latest version 4.5.0 not support springboot 3.5.x

lavistta01 avatar Sep 26 '25 11:09 lavistta01

我也遇到了这个问题。

问题描述

目前的情况是使用 SpringBoot 3.5.4 和 knife4j 4.5.0 ,启动时不会出现任何报错,当访问API文档后会出现『jakarta.servlet.ServletException: Handler dispatch failed: java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.(java.lang.Object)'』这个错误。

原因分析

原因在于 knife4j 依赖的 springdoc 系列库2.3.0版本中 org.springdoc.core.service.GenericResponseService 类的 getGenericMapResponse() 方法调用到了 spring-web 库 org.springframework.web.method.ControllerAdviceBean 类,而 spring-web 新版本的这个类的构造函数发生了改变。

建议

升级所用到的各依赖库的版本

wanglhong avatar Oct 03 '25 13:10 wanglhong

也遇到此问题,希望尽快升级

jiangxiulong avatar Oct 08 '25 11:10 jiangxiulong

希望尽快升级

caijinpeng1113 avatar Oct 13 '25 06:10 caijinpeng1113

希望尽快升级适配

WhiteSprite-RIP avatar Oct 15 '25 07:10 WhiteSprite-RIP

希望尽快升级适配

OOMEcho avatar Oct 17 '25 02:10 OOMEcho

希望尽快升级适配,我也遇到了

cvpv avatar Oct 24 '25 01:10 cvpv

希望尽快升级适配

scccy avatar Oct 31 '25 08:10 scccy

我也遇到了,希望尽快升级

wardbit avatar Nov 02 '25 11:11 wardbit

SpringBoot 3.5.8 knife4j-openapi3-jakarta-spring-boot-starter 4.5.0 遇到一样的问题

Mrzhuhanxin avatar Nov 24 '25 07:11 Mrzhuhanxin

    <dependency>
        <groupId>com.github.xingfudeshi</groupId>
        <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
        <version>4.6.0</version>
    </dependency>

这个作者虽然暂时解决了这个问题,但是引发了新的问题,basic无法开启等一些其他问题

Mrzhuhanxin avatar Nov 24 '25 07:11 Mrzhuhanxin

@xiaoymin 希望尽快升级

Mrzhuhanxin avatar Nov 24 '25 07:11 Mrzhuhanxin

希望尽快升级适配

nestingLee avatar Nov 26 '25 01:11 nestingLee

临时办法:先排出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)

fight2048 avatar Dec 06 '25 10:12 fight2048