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

使用PDF2DOM将PDF转HTML时出现NoSuchMethodError问题求助

解决PDFBox转HTML时的Guava依赖冲突问题

看起来你遇到的NoSuchMethodError是典型的Guava版本依赖冲突导致的,下面我帮你拆解问题并给出具体的解决步骤:

问题原因

com.google.common.collect.Sets$SetView.iterator()Lcom/google/common/collect/UnmodifiableIterator;这个错误的本质是:

  • 编译时你的代码依赖的Guava版本中,Sets$SetView.iterator()方法返回的是UnmodifiableIterator类型
  • 但运行时项目加载的却是一个旧版本的Guava,这个版本里该方法仅返回普通的Iterator,不存在返回UnmodifiableIterator的实现,因此抛出了找不到方法的错误

PDFBox的PDFDomTree组件依赖较高版本的Guava,而你的项目中其他依赖可能引入了低版本的Guava,导致版本覆盖,引发了冲突。

解决步骤

1. 排查依赖树,定位冲突来源

先找出项目中所有引入Guava的依赖项:

  • 如果你用Maven,执行命令:
    mvn dependency:tree | grep guava
    
  • 如果你用Gradle,执行命令:
    ./gradlew dependencies | grep guava
    

这个命令会列出所有包含Guava的依赖,你能看到不同的版本号,从而找出引入低版本Guava的那个依赖来源。

2. 排除低版本的Guava依赖

找到引入低版本Guava的依赖后,在你的构建文件中排除它的Guava依赖:

  • Maven示例(假设是some-old-dependency引入了低版本Guava):
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>some-old-dependency</artifactId>
        <version>x.x.x</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • Gradle示例:
    implementation('com.example:some-old-dependency:x.x.x') {
        exclude group: 'com.google.guava', module: 'guava'
    }
    

3. 显式指定兼容的Guava版本

为了确保项目使用的Guava版本和PDFBox兼容,直接在构建文件中添加指定版本的Guava依赖。PDFBox 2.x系列通常兼容Guava 28及以上版本,你可以根据自己的PDFBox版本调整:

  • Maven:
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>30.1.1-jre</version> <!-- 或其他兼容的稳定版本 -->
    </dependency>
    
  • Gradle:
    implementation 'com.google.guava:guava:30.1.1-jre'
    

4. 清理并重新构建项目

最后清理项目缓存并重新构建,确保新的依赖生效:

  • Maven:
    mvn clean install
    
  • Gradle:
    ./gradlew clean build
    

额外说明

你的PDF转HTML代码本身没有问题,核心问题就是依赖版本不匹配。大项目中这类冲突很常见,通过依赖树排查+排除低版本+显式指定兼容版本,是解决这类问题最有效的方式。

内容的提问来源于stack exchange,提问作者Hasan Kaan TURAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:47:43