Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.NoClassDefFoundError when trying to use pdfBox

when I try to use one of the PDFBox examples for extracting images, in the run time,it gives me the following exception:

   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

here is the part of the code that exception occurs, at the last two lines:

         String pdfFile = "pdf file path";
         File pdf=new  File(pdfFile);
         PDDocument document = null;
         document = PDDocument.loadNonSeq(pdf, null, password);
         document = PDDocument.load( pdfFile );
like image 842
user3049183 Avatar asked Jan 27 '15 05:01

user3049183


People also ask

Is PDFBox free for commercial use?

Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative ...


2 Answers

Add commons-logging-1.1.1.jar or jcl-over-slf4j-1.7.6.jar in your lib directory.

like image 156
Mahender Yadav Avatar answered Sep 29 '22 19:09

Mahender Yadav


Download jar file from the following Link. Add it to your class path.

like image 22
Buru Avatar answered Sep 29 '22 18:09

Buru