使用Java DOM获取节点内部XML字符串报java.lang.AbstractMethodError如何解决
Exception in thread "main" java.lang.AbstractMethodError: org.apache.xerces.dom.CoreDOMImplementationImpl.createLSSerializer()Lorg/w3c/dom/ls/LSSerializer;
错误产生原因
- 核心原因是Xerces库版本不兼容:
createLSSerializer()是W3C制定的DOM Level 3 Load and Save规范中定义的接口方法,低于2.7.0版本的Xerces解析器没有实现该方法,调用该API时就会抛出AbstractMethodError。 - 项目依赖冲突:JDK 1.5及以上版本已经内置了兼容DOM Level 3规范的默认DOM实现,如果你的项目Classpath中额外引入了旧版Xerces依赖,会优先加载旧版
CoreDOMImplementationImpl类,覆盖JDK的内置实现,最终触发方法找不到的错误。
内容的提问来源于stack exchange,提问作者김다빈
相关产品推荐
相关产品推荐

