【问题标题】:Java program that uses pptx4j throws org/apache/commons/lang/NotImplementedException使用 pptx4j 的 Java 程序抛出 org/apache/commons/lang/NotImplementedException
【发布时间】:2015-05-06 03:38:12
【问题描述】:

我正在使用来自www.docx4java.org 的示例代码来运行将创建PowerPoint 幻灯片的程序,以便我可以学习使用docx4j 库。但这给了我一个例外,甚至很难我已经将 commons-logging-1.2.jar 和 commons-logging-1.2-javadoc.jar 添加到我的类路径库中(其中我也有 apache-logging-log4j.jar,docx4j -3.2.1.jar、slf4j-nop-1.6.1 和 slf4j-api-1.7.5.jar)。这是输出:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/NotImplementedException
at org.docx4j.openpackaging.packages.PresentationMLPackage.createPackage(PresentationMLPackage.java:169)
at org.docx4j.openpackaging.packages.PresentationMLPackage.createPackage(PresentationMLPackage.java:146)
at org.docx4j.samples.CreateHelloWorld.main(CreateHelloWorld.java:30)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.NotImplementedException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 3 more
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)

我正在使用的 jar 之间是否存在不兼容性,或者我是否缺少更多 jar 文件来使用 pptx4j?

最初我添加了 docx4j-3.2.1.jar 和 slf4j-api-1.7.5.jar 来使用 this sample code 创建一个 word 文件。但是对于 pptx4j 我还没有找到解决方案,因为我已经有了 apache-logging-log4j 和 commons-logging-1.2,它不应该工作吗?

【问题讨论】:

    标签: java docx4j


    【解决方案1】:

    不是扔org/apache/commons/lang/NotImplementedException,是说找不到:

    NoClassDefFoundError: org/apache/commons/lang/NotImplementedException

    您需要将 Apache Commons Lang v2.x(不是 v3,它使用与错误提及的包名称不同的包名称)添加到您的类路径。

    【讨论】:

    • 更进一步,使用Maven,或者在docx4java.org/docx4j/docx4j-3.2.1.zip中手动添加deps
    • @skaffman 我添加了 commons-lang-v2.6,它现在似乎创建了幻灯片,但它给了我另一个例外,这次是在线程“main”java.lang.NoClassDefFoundError: org/apache /commons/io/IOUtils
    • 好的,所以也添加 commons-io。线索在错误中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 2011-06-08
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    相关资源
    最近更新 更多