You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成easytable生成PDF报NoClassDefFoundError问题问询

问题原因

java.lang.NoClassDefFoundError: org/vandeseer/easytable/structure/Table 异常代表编译时可以找到easytable的相关类,但运行时类加载器无法找到对应的类文件,通常由以下配置问题导致:


解决方案

  • 检查依赖作用域配置
    你需要确认项目构建文件中的easytable依赖配置正确:
    如果你使用Maven,确保pom.xml中easytable依赖没有设置provided/test作用域,也没有标记为可选依赖,参考配置如下:

    <dependency>
        <groupId>com.github.vandeseer</groupId>
        <artifactId>easytable</artifactId>
        <version>你使用的版本号</version>
    </dependency>
    

    如果你使用Gradle,确保依赖声明为implementation而非compileOnly/testImplementation。

  • 检查依赖版本兼容性
    easytable对Apache PDFBox的版本有明确适配要求,需要确认你项目中引入的PDFBox版本和当前easytable版本适配,避免版本不匹配导致的类加载异常。

  • 确认依赖被正确打包
    执行构建前先执行clean操作清空缓存,重新打包后解压生成的Spring Boot jar包,查看BOOT-INF/lib目录下是否存在easytable的jar文件,确认依赖被打进运行包中。

  • 补充缺失的表格渲染逻辑
    你当前的代码仅构建了表格实例,并未将表格渲染到PDF内容流中,类加载问题修复后需要补充渲染代码,完整示例如下:

    // 构建完表格后补充以下代码
    Table table = myTable.build();
    TableDrawer.builder()
            .table(table)
            .contentStream(contentStream)
            .startX(50f) // 表格左侧边距
            .startY(PDRectangle.A4.getHeight() - 50f) // 表格顶部边距
            .build()
            .draw();
    

内容的提问来源于stack exchange,提问作者mr-woodapple

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:36:01