小鸭子的学习笔记duck

Duck Blog

唐如飞

( ^∀^)/欢迎\( ^∀^)

79 文章数
14 评论数

最近spring boot 3+mybaties-plus +knife4j的一个bug

tangrufei
2024-03-14 / 0 评论 / 254 阅读 / 0 点赞

前情提要,最近的一个springboot3.0以上的项目想集成knife4j接口文档,但是出现致命错误

栈内存错误,这让我十分难受,并没有给我指向一个排查的范围,在查阅大量相关资料以及到他们各自官方提issue无果(因为这通常需要时间),而这个项目时间,又比较紧急,只好自己去排查

2024-03-14 10:43:28.038 [http-nio-8899-exec-10] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/](DirectJDKLog.java:175)(DirectJDKLog.java:175- Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed: java.lang.StackOverflowError] with root cause 
java.lang.StackOverflowError: null
	at com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.tryToDrainBuffers(PrivateMaxEntriesMap.java:378)
	at com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.drainOnReadIfNeeded(PrivateMaxEntriesMap.java:358)
	at com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.afterRead(PrivateMaxEntriesMap.java:315)
	at com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.get(PrivateMaxEntriesMap.java:622)
	at com.fasterxml.jackson.databind.util.LRUMap.get(LRUMap.java:63)
	at com.fasterxml.jackson.databind.type.TypeFactory._fromClass(TypeFactory.java:1468)
	at com.fasterxml.jackson.databind.type.TypeFactory._fromAny(TypeFactory.java:1401)
	at com.fasterxml.jackson.databind.type.TypeFactory.constructType(TypeFactory.java:752)

好在这个项目代码量并不算太大,经过我长达两天的排查,排查方式就是控制变量法,一个个测,不管是依赖还是注解还是配置类,漫长的排查过程就不再赘述了,这里直接给到结果,也是非常让我意想不到原因,排查到最后我不敢相信是他,但是到最后即使是认为最不可能的原因他也是真相

/**
 * (Page)表实体类
 *
 * @author tangrufei
 * @since 2023-03-27 15:30:54
 */
@SuppressWarnings("serial")
public class Page extends Model<Page> {  //问题处在这儿,平平无奇实体类,怎么也不会想到他,恰恰就是他,这里去掉继承就可以了
    @TableId(type = IdType.AUTO)

    private Integer id;

    private String content;
    private String projectPath;

    private Integer fileType;
	}

文章不错,扫码支持一下吧~
上一篇 下一篇
评论
来首音乐
光阴似箭
今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月