-1

我正在使用java1.6,grails 2.0. 我想处理 Docx 文档。为此我添加了 jars poi-ooxml-3.5-FINAL.jar,ooxml-schemas-1.1.jar. 但是在代码行中this.document = new XWPFDocument(buffInputStream); 我得到了以下错误

Class    java.lang.ClassNotFoundException
Message    org.apache.xmlbeans.XmlOptions

我正在尝试添加罐子 xmlbeans-2.5.0.jar or xbean-2.1.0.jar.

我得到以下错误

 | Error Fatal error during compilation
     org.apache.tools.ant.BuildException: java .lang.LinkageError: loader
     constraint violation: loader (instance of bootloader)
 previously initiated loading for a different type with name "org/w3c/dom/Type Info" (Use --stacktrace to see the full trace)

如果我验证我的 Jre 系统库,rt.jar 包含这个 TypeInfo 类。如何解决这个问题呢?请指教。谢谢你。

嗨,我已经尝试删除库并用于jarscan搜索此类。但我没有找到任何地方。请帮忙弄清楚我还能找到这门课在哪里以及如何解决这个问题

4

1 回答 1

1

JMX MBeanServer 类发生在我身上。Groovy 使用其类加载器加载其中一个,JVM 也是如此。在您的情况下,听起来 TypeInfo 类存在于 rt.jar 中就好了,但是另一个类加载器再次从该 jar(或另一个 jar)加载它。使用“-verbose:class”运行 JRE 显示了双重加载行为。然后我将有问题的 jar 从我的类路径中移出,它与 Groovy 加载的 jar 一起工作得很好。

我建议将 rt.jar 从类路径中移出,或者如果您需要 rt.jar 中的其他类,请尝试在没有 Type 类的情况下对其进行 unjaring 和 rejaring。这样类加载器将被迫使用 xmlbeans-2.5.0.jar 或 xbean-2.1.0.jar 中的加载器。

于 2013-11-14T18:27:10.343 回答