尝试使用pdfBox时出现.NoClassDefFoundError

时间:2015-01-27 05:57:32

标签: java exception 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$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.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 );

4 个答案:

答案 0 :(得分:7)

添加commons-logging-1.1.1.jar 要么 你的lib目录中的jcl-over-slf4j-1.7.6.jar。

答案 1 :(得分:1)

从以下Link下载jar文件。将它添加到您的类路径。

答案 2 :(得分:1)

将所需的dependency添加到您的课程路径(来自链接)

  

主PDFBox组件pdfbox与commons-logging

有很强的依赖关系

答案 3 :(得分:1)

对于使用PDFBox 2.0.4的人,您需要在图书馆目录中添加debugger-app-2.0.4.jar