java - PDFBox NoClassDefFoundError PDDocument
问题描述
尝试使用 PDFBox 读取 PDF 文件时,我在 PDDocument 类上收到 NoClassDefFoundError。这是我得到的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/pdfbox/pdmodel/PDDocument
at readpdf.ReadPDF.main(ReadPDF.java:27)
Caused by: java.lang.ClassNotFoundException: org.apache.pdfbox.pdmodel.PDDocument
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
这是生成错误的代码:
```
try (PDDocument document = PDDocument.load(new File(pdfFile))) {
PDFTextStripper textStripper = new PDFTextStripper();
// Get total page count of the PDF document
int numberOfPages = document.getNumberOfPages();
//set the first page to be extracted
textStripper.setStartPage(1);
// set the last page to be extracted
textStripper.setEndPage(numberOfPages);
String text = textStripper.getText(document);
System.out.println(text);
}
```
这是我的进口,以防万一它们可能是一个问题:
```
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
```
编辑:这是我用来从 windows 命令窗口运行程序的命令 -> java -jar readPdf.jar pdfFile.pdf 当我第一次开始构建程序时,我在 Netbeans 中添加了以下 jar 文件作为库文件,pdfbox-20.0 .20.jar、fontbox-20.0.20.jar 和 commons-logging-1.2.jar。我没有使用 Maven,仍在尝试学习如何使用它。Netbeans 版本 11.0 Windows 10 Corretto OpenJDK 11.0.7
解决方案
问题是图书馆不见了。由于某种原因,Netbeans 11 正在创建一个库属性文件和一个名为 copy libs 的目录,但没有将这些库复制到该目录,也没有在我构建项目时在 dist 目录中创建一个 lib 目录。我试图找到正确的配置,但没有成功。我终于下载了 NetBeans 12 版并从头开始重新创建项目,问题就消失了。现在,当我构建项目时,我的库被复制到 lib 目录中,并且不再出现错误。
推荐阅读
- pentaho - 对花费太长时间的行进行排序
- android - 无法在 Android 模拟器上运行 React-Native 应用程序 - Windows
- kubernetes - 从 kubectl 输出显示失败的 pod
- botframework - 当前是否有任何方法和/或计划在消息或卡片中包含带有 CSS 样式的 HTML?
- r - 如何使 R 能够根据矩阵中的单元格地址计算公式?
- shell - 连接一个ssh下多级的db
- javascript - 如何让我的 JavaScript 文件在我的组件结束时执行?
- python - 如何在 PySide 中创建功能区菜单
- javascript - 如何根据子节点删除父节点和/或 css 样式
- c - 两个动态库的传递依赖中的符号冲突