【发布时间】:2015-12-16 20:24:40
【问题描述】:
我一直在尝试在我的代码中使用 Jar 文件作为库,它编译得很好。但是,在运行时,我不断收到NoClassDefFoundError 消息。为什么会这样?我已经在编译路径和运行时路径中包含了 Jar 文件。
这是错误信息:
线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/commons/logging/LogFactory 在 org.apache.pdfbox.cos.COSDocument.(COSDocument.java:51) 在 org.apache.pdfbox.pdmodel.PDDocument.(PDDocument.java:136) 在处理.PDFToJPG.main(PDFToJPG.java:58)
原因:java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 3 更多
这是我的代码:
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
public static void main(String[] args) {
try {
PDDocument doc = new PDDocument();
} catch (Exception e) {
e.printStackTrace();
}
}
我正在使用 NetBeans IDE 以及 Windows 10
这是我编译类路径的设置:
[
这是我对运行时类路径的设置:
[
编辑:感谢您的帮助,它确实有效。我需要做的就是下载依赖项 Jar 文件,而不是像我一直在尝试做的那样编辑类路径
【问题讨论】:
-
我看了很多文章,都是关于类路径的。原来我不知道 PDFbox 和 common-logging 之间存在依赖关系
-
您的 PDFBox 版本已过时。 1.8.10 是当前版本。 (或者 2.0 RC2,如果你是一个非常酷的人)