2014-11-22 226 views
0

我想从here Office Open XML运行教程。我已经下载了Docx4j库,并将其作为库添加到netbeans。Docx4j类未找到错误

的代码片断如下

import org.docx4j.openpackaging.exceptions.Docx4JException; 
    import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 


public class OfficeOpen { 


    public static void main(String[] args) throws Docx4JException { 

     WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(); 
     wordMLPackage.getMainDocumentPart().addParagraphOfText("Hello Word!"); 
     wordMLPackage.save(new java.io.File("src/main/files/HelloWord1.docx")); 
      } 

    } 

给予当我运行上面的例子中,我得到以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
at org.docx4j.openpackaging.Base.<clinit>(Base.java:43) 
at officeopen.OfficeOpen.main(OfficeOpen.java:24) 
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 
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) 
... 2 more 
Java Result: 1 
BUILD SUCCESSFUL (total time: 0 seconds) 

看起来像JVM找不到在运行时类,任何建议。我正在使用Netbeans 8.0

回答

4

您错过了一些docx4j依赖的库。请参阅http://htmlpreview.github.io/?https://github.com/plutext/docx4j/blob/master/docs/Docx4j_GettingStarted.htmldocx4j依赖关系

事实上你缺少SLF4J是docx4j用途的记录:http://www.docx4java.org/docx4j/docx4j-3_2_0/dependencies/slf4j-api-1.7.5.jar

也许你需要许多其他问题。

我想这是所有的依赖,althought你可能并不需要所有的人:http://www.docx4java.org/docx4j/docx4j-3_2_0/dependencies/

+0

多亏了依赖问题 – CodeAngel 2014-11-22 22:38:34