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

导入PDFBox依赖后Apache Tika PDFParser报NoClassDefFoundError求助

问题解决方法

核心原因

你遇到的NoClassDefFoundError是依赖版本冲突导致的:

  • Tika 1.12内置依赖的是PDFBox 1.x版本,该版本的加密异常类路径为org.apache.pdfbox.exceptions.CryptographyException
  • 你手动添加的PDFBox 2.0.12属于大版本升级,已经移除了这个旧包路径,相关异常被迁移到org.apache.pdfbox.io下,导致Tika的PDFParser加载时找不到旧类。

解决方案

方案1:移除手动添加的PDFBox依赖,用Tika自带的适配版本

直接删除你添加的PDFBox 2.0.12依赖,Tika 1.12已经自带了适配的PDFBox 1.x版本,不会再出现类加载异常。

如果需要处理扫描版PDF(图片型PDF),请添加Tika的OCR扩展依赖,而非手动引入PDFBox:

<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers</artifactId>
    <version>1.12</version>
</dependency>
<dependency>
    <groupId>net.sourceforge.tess4j</groupId>
    <artifactId>tess4j</artifactId>
    <version>3.0.0</version>
</dependency>

添加后,Tika会自动调用Tesseract OCR处理扫描PDF中的图片内容。

方案2:升级Tika到2.x版本(推荐)

Tika 2.x原生支持PDFBox 2.x,彻底解决版本冲突问题,同时OCR集成更完善:

<!-- Tika核心包 -->
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-core</artifactId>
    <version>2.9.1</version>
</dependency>
<!-- 标准解析器包(包含PDF解析) -->
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers-standard-package</artifactId>
    <version>2.9.1</version>
</dependency>
<!-- OCR模块,处理扫描PDF -->
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parsers-ocr-module</artifactId>
    <version>2.9.1</version>
</dependency>

升级后,你不需要手动引入PDFBox,Tika会自动管理适配的依赖版本。


内容的提问来源于stack exchange,提问作者Anson Pang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:47:33