【发布时间】:2010-09-19 15:47:46
【问题描述】:
在开发一个大量基于 XML 的 Java 应用程序时,我最近在 Ubuntu Linux 上遇到了一个有趣的问题。
我的应用程序使用Java Plugin Framework,似乎无法将dom4j 创建的XML 文档转换为SVG 规范的Batik's 实现。
在控制台上,我得知发生了错误:
线程“AWT-EventQueue-0”java.lang.LinkageError 中的异常:接口 itable 初始化中的加载程序约束冲突:解析方法“org.apache.batik.dom.svg.SVGOMDocument.createAttribute(Ljava/lang/String;)Lorg 时/w3c/dom/属性;"当前类 org/apache/batik/dom/svg/SVGOMDocument 的类加载器(org/java/plugin/standard/StandardPluginClassLoader 的实例)和接口 org/w3c/ 的类加载器(我认为这个问题是由 JVM 的原始类加载器和插件框架部署的类加载器之间的冲突引起的。
据我所知,无法为要使用的框架指定类加载器。破解它可能是可能的,但我更喜欢用不那么激进的方法来解决这个问题,因为(无论出于何种原因)它只发生在 Linux 系统上。
你们中有人遇到过这样的问题吗?知道如何解决它或至少找到问题的核心吗?
【问题讨论】:
标签: java linux classloader linkageerror