为什么 PDFBox 添加到 IntelliJ Java 中的库和模块后会出现意外错误?

问题描述 投票:0回答:1

我收到以下错误:

    /Users/username/IdeaProjects/WrestlingProject/src/DataScraper.java:22:41
    java: cannot access org.apache.pdfbox.io.RandomAccessRead
      class file for org.apache.pdfbox.io.RandomAccessRead not found

运行以下代码段时:

    public class DataScraper{
        public static void main(String[] args) {
            try {
                File folderFile = new File("pdf");

                File pdfFile = folderFile.listFiles()[0];

                PDDocument document = Loader.loadPDF(pdfFile);
                PDFTextStripper stripper = new PDFTextStripper();

                String text = stripper.getText(document);
                System.out.println("Text in the PDF: " + text);
                document.close();



            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

PDFBox jar 已应用在“项目结构库”选项卡中。 我的目标是将 pdf 文件转换为原始文本流。

为什么会出现错误,如何修复?

我尝试运行它,并尝试了几个pdf路径,但我相信路径是正确的。

java intellij-idea java-17
1个回答
0
投票

您遇到的错误表明 Java 编译器找不到该类

org.apache.pdfbox.io.RandomAccessRead
。此类是 Apache PDFBox 的一部分,Apache PDFBox 是您用来处理 PDF 文件的库。

此错误最可能的原因是:

  1. 不正确或不完整的库导入:您可能已将 PDFBox 库添加到您的项目中,但特定版本的 jar 可能不包含

    RandomAccessRead
    类,或者您可能缺少 PDFBox 所需的其他 jar取决于。

  2. 类路径问题:该库可能无法正确添加到项目的类路径中。即使您已将其添加到项目结构库选项卡中,它也可能不会反映在您的构建配置或 IDE 的运行配置中。

  3. 依赖管理:如果您不使用 Maven 或 Gradle 等构建工具,则手动管理所有必要的依赖项可能会很困难,因为像 PDFBox 这样的库通常需要额外的相关库才能正常工作。

您可以尝试解决此问题:

  • 检查依赖关系:确保 PDFBox 所需的所有 jar 都已添加到您的项目中。 PDFBox 通常至少需要主

    pdfbox
    jar、
    fontbox
    jar,可能还需要其他内容,具体取决于您的版本。

  • 使用构建工具:如果您尚未使用 Maven 或 Gradle,请考虑为您的项目设置这些构建工具之一。它们为您管理依赖项,并可以自动下载所有必需的 jar,包括传递依赖项。

    对于 Maven,您可以将以下依赖项添加到您的

    pom.xml

    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>2.0.24</version>
    </dependency>
    

    对于 Gradle,您可以将其添加到您的

    build.gradle

    dependencies {
        implementation 'org.apache.pdfbox:pdfbox:2.0.24'
    }
    
  • 刷新项目:有时 IDE 会要求您在添加新库后刷新或同步项目。

  • 验证类路径:确保库已正确添加到 IDE 运行配置中的类路径中。

  • 检查损坏的 Jars:您下载的 jar 文件也可能已损坏。尝试重新下载它们或使用 Maven 或 Gradle 等构建工具,它会为您下载 jar。

如果您使用的是 IntelliJ IDEA,您还可以尝试使缓存失效并重新启动 IDE (

File > Invalidate Caches / Restart > Invalidate and Restart
)。

如果您手动添加罐子,请确保您使用的是罐子的兼容版本。您可以在 PDFBox 下载页面或通过搜索 Maven 中央存储库找到兼容版本及其依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.