.NoClassDefFoundError 尝试使用 pdfBox 时
.NoClassDefFoundError when trying to use pdfBox
当我尝试使用 PDFBox
示例之一来提取图像时,在 运行 时,出现以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.pdfbox.pdfparser.BaseParser.<clinit>(BaseParser.java:68)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1218)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1186)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1111)
at pdfboxtest.PdfBoxTest.extractImage(PdfBoxTest.java:69)
at pdfboxtest.PdfBoxTest.main(PdfBoxTest.java:53)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader.run(URLClassLoader.java:372)
at java.net.URLClassLoader.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
这里是代码中出现异常的部分,在最后两行:
String pdfFile = "pdf file path";
File pdf=new File(pdfFile);
PDDocument document = null;
document = PDDocument.loadNonSeq(pdf, null, password);
document = PDDocument.load( pdfFile );
从以下Link下载jar文件。将它添加到您的 class 路径。
将所需的 dependency 添加到您的 class 路径(来自 link)
The main PDFBox component, pdfbox, has a hard dependency on commons-logging
添加 commons-logging-1.1.1.jar
要么
jcl-over-slf4j-1.7.6.jar 在你的 lib 目录中。
对于使用 PDFBox 2.0.4
的人,您需要在 Libraries 目录
中添加 debugger-app-2.0.4.jar
当我尝试使用 PDFBox
示例之一来提取图像时,在 运行 时,出现以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.pdfbox.pdfparser.BaseParser.<clinit>(BaseParser.java:68)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1218)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1186)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1111)
at pdfboxtest.PdfBoxTest.extractImage(PdfBoxTest.java:69)
at pdfboxtest.PdfBoxTest.main(PdfBoxTest.java:53)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader.run(URLClassLoader.java:372)
at java.net.URLClassLoader.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
这里是代码中出现异常的部分,在最后两行:
String pdfFile = "pdf file path";
File pdf=new File(pdfFile);
PDDocument document = null;
document = PDDocument.loadNonSeq(pdf, null, password);
document = PDDocument.load( pdfFile );
从以下Link下载jar文件。将它添加到您的 class 路径。
将所需的 dependency 添加到您的 class 路径(来自 link)
The main PDFBox component, pdfbox, has a hard dependency on commons-logging
添加 commons-logging-1.1.1.jar 要么 jcl-over-slf4j-1.7.6.jar 在你的 lib 目录中。
对于使用 PDFBox 2.0.4
的人,您需要在 Libraries 目录
debugger-app-2.0.4.jar