组织/ DOM4J / DocumentException

大家早上好 ,

我有java代码,alllows我创build一个Excel文件从XMLFlie ..但它不能创build正确的文件,我有这个例外,我不理解它的含义:

Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException at org.apache.poi.openxml4j.opc.Package.init(Package.java:145) at org.apache.poi.openxml4j.opc.Package.<init>(Package.java:132) at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:67) at org.apache.poi.openxml4j.opc.Package.create(Package.java:271) at org.apache.poi.xssf.usermodel.XSSFWorkbook.newPackage(XSSFWorkbook.java:245) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:145) at escel1.Escel1.main(Escel1.java:104) Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 

如果有人知道这意味着什么,这将是非常有益的:)

我find了你的问题的关键。 你不应该将dom4j-1.6.1-sources.jar的jar文件,而是把dom4j-1.x.jar到项目库中。 因为源文件的jar文件名是纯java文件(xx.java),这意味着它根本不被编译。

然后重build你的项目,它会正常工作。

希望能帮助你:)

Apache POI有一个方便的页面列出所有的组件和它们的依赖关系 ,你应该从阅读开始!

其次,如果您下载了Apache POI的二进制zip / tarball,那么它在/lib//ooxml-lib/目录中提供了所有您需要的依赖关系。 确保在你的类path中包含所有需要的依赖项 。 (你错过了一些,因此错误)