2

大家早上好 ,

我有允许我从 xml flye 创建一个 excel 文件的 java 代码。但它无法正确创建文件,我有这个例外,我不明白它的含义:

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)

如果有人知道这意味着什么,那对我很有帮助:)

4

2 回答 2

11

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

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

希望能帮到你:)

于 2013-04-03T05:58:59.720 回答
2

Apache POI 有一个方便的页面,列出了所有组件及其依赖项,您应该从阅读该页面开始!

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

于 2013-04-03T05:19:35.797 回答