Search code examples
javadocx4j

Java program that uses pptx4j throws org/apache/commons/lang/NotImplementedException


I'm using sample code from www.docx4java.org to run the program that will create a powerpoint slide so that i can learn the use of the docx4j library. But it gives me an exception even tough i have already added both commons-logging-1.2.jar and commons-logging-1.2-javadoc.jar to my classpaths library as (in which i also have apache-logging-log4j.jar, docx4j-3.2.1.jar, slf4j-nop-1.6.1 and slf4j-api-1.7.5.jar). This is the output:

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)

Is there an incompatibility betweent the jars i am using or am i missing more jar files to work with pptx4j?

Originally i added docx4j-3.2.1.jar and slf4j-api-1.7.5.jar to work with this sample code that creates a word file. But with the pptx4j i haven't found a solution, shouldn't it work since i already have apache-logging-log4j and commons-logging-1.2?


Solution

  • It's not throwing org/apache/commons/lang/NotImplementedException, it's saying it can't find it:

    NoClassDefFoundError: org/apache/commons/lang/NotImplementedException

    You need to add Apache Commons Lang v2.x (not v3, that uses a different package name to the one the error mentions) to your classpath.