使用 Apache ODF 工具包获取 java.lang.NoClassDefFoundError: org/apache/xerces/dom/ElementNSImpl
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/18147937/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Getting java.lang.NoClassDefFoundError: org/apache/xerces/dom/ElementNSImpl with Apache ODF Toolkit
提问by Ravi Joshi
I am trying to read an ods
file using Apache ODF Toolkit
. I am getting java.lang.NoClassDefFoundError
error while while trying to load the Spreadsheet using below code-
我正在尝试ods
使用Apache ODF Toolkit
. java.lang.NoClassDefFoundError
尝试使用以下代码加载电子表格时出现错误 -
SpreadsheetDocument data = SpreadsheetDocument.loadDocument(file);
Below is the error trace-
以下是错误跟踪-
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xerces/dom/ElementNSImpl
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access##代码##0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access##代码##0(Unknown Source)
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at test.read.ODSFile.ReadODS.main(ReadODS.java:33)
Caused by: java.lang.ClassNotFoundException: org.apache.xerces.dom.ElementNSImpl
at java.net.URLClassLoader.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 25 more
Below is the project structure, which shows the classpath-
下面是项目结构,其中显示了类路径-
Is there any dependencies missing?
是否缺少任何依赖项?
采纳答案by Nomada
It seems your code can not find the class: Caused by: java.lang.ClassNotFoundException: org.apache.xerces.dom.ElementNSImpl
看来你的代码找不到类:引起:java.lang.ClassNotFoundException:org.apache.xerces.dom.ElementNSImpl
from ODF Toolkit
来自ODF 工具包
Note: ODFDOM requires Apache Xerces. The jar file xercesImpl.jar also must exist in a folder lib next to odfxsltrunner.jar file, or it must be in the classpath. The ODF XSLT Runner NetBeans projects includes a reference to xersesImpl.jar in the runtime classpath which has to be adapted after checking out the project.
注意:ODFDOM 需要 Apache Xerces。jar 文件 xercesImpl.jar 还必须位于 odfxsltrunner.jar 文件旁边的文件夹 lib 中,或者它必须位于类路径中。ODF XSLT Runner NetBeans 项目在运行时类路径中包含对 xersesImpl.jar 的引用,在签出项目后必须对其进行调整。