Groovy Grape dealing with dependency resolution
我试图在groovy脚本中使用
1 2 3 4 5 6 7 | Caught: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.NodeImpl.getOwnerDocument()Lorg/w3c/dom/Document;" the class loader (instance of org/codehaus/groovy/tools/RootLoader) of the current class, org/apache/xerces/dom/NodeImpl, and the class loader (instance of <bootloader>) for interface org/w3c/dom/Node have different Class objects for the type getOwnerDocument used in the signature |
我已经google了很多,发现了很多这样的答案:
在Java / Maven中处理"Xerces hell"?
XercesImpl与JavaSE 6的内部xerces实现相冲突。 两者都需要......可以做些什么?
因此,一种解决方案可能是使用javas
接下来我尝试的是排除这样的正确依赖
1 2 3 4 | @Grapes([ @Grab('org.xhtmlrenderer:core-renderer:R8pre2'), @GrabExclude('xml-apis:xml-apis') ]) |
但没有成功......
有任何想法吗?
PS:这是创建错误的脚本:
1 2 3 4 5 6 7 8 9 | @Grapes([ @Grab('org.xhtmlrenderer:core-renderer:R8pre2'), ]) import org.w3c.dom.Document import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory def dbf = DocumentBuilderFactory.newInstance() DocumentBuilder builder = dbf.newDocumentBuilder() Document doc = builder.parse(new ByteArrayInputStream("<html></html>".getBytes())) |
Thanx到@dmahapatro,我检查了我的配置,发现我很久以前在{usrhome} /。groovy中放了一些罐子。 删除这些,现在一切都像魅力一样......