当前位置: 首页 > 面试题库 >

.NoClassDefFoundError尝试使用pdfBox时

从渊
2023-03-14
问题内容

当我尝试使用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 );

问题答案:

在您的lib目录中添加commons-logging-1.1.1.jar或jcl-over-slf4j-1.7.6.jar。



 类似资料:
  • 当我试图用PDFBox读取PDF文件时,在PDDocument类上出现NoClassDefFound错误。以下是我得到的错误: 以下是生成错误的代码: 以下是我的进口商品,以防它们可能成为问题: 编辑:这是我用来从windows命令窗口运行程序的命令-

  • 路径是正确的,所以我不知道是怎么回事。此外,如果我查看pdDocument.decrypt(String pw)方法,我会发现:这将解密一个文档。提供此方法仅出于兼容性原因。用户应该使用新的安全层,特别是openProtection方法。 这是什么意思?谁能给出一个如何用PDFBOX正确解密PDF文档的例子吗?

  • 我正在做一个Java/J2EE项目,其中有几个Web应用程序。我想在一些webapps中介绍log4j。所以我添加了log4j-1.2。WEB-INF\lib中的16.jar和log4j。WEB-INF\classes中的属性 结果我得到一个NoClassDefFoundError: 当我试图直接在Tomcat内部安装log4j时,我也会遇到同样的错误。(我已经在tomcat/lib等中添加了pr

  • 这是我上周问的一个问题的更新版本。 我正试图使用SmbFileInputStream将我的Android连接到我的PC上, 但应用程序(在我的平板电脑上)中止,并出现以下错误消息: 我正在使用try/catch,但它不会触发任何异常。 适用的代码如下所示: 当我尝试获取文件列表时,SmbFile不会中止,但sfile.list会中止。 我在一个本地网络上,而不是一个域。 平板电脑可以用另一个应用程

  • 问题内容: 我一直在看代码,并且看到了尝试资源的机会。我以前使用过标准的try-catch语句,看起来它们在做同样的事情。所以我的问题是“ 尝试使用资源”与“尝试捕获 ”之间的区别是什么,哪个更好。 这是尝试使用资源: 问题答案: 尝试使用资源的重点是确保可靠地关闭资源。 当你不使用try-with-resources时,存在一个潜在的陷阱,称为异常屏蔽。当try块中的代码引发异常,而finall

  • ...在Xcode控制台,我得到 它演示了建立了连接并成功找到了服务器,但其他问题出现了。会很感激你的帮助。