Groovy脚本中的依赖冲突

Groovy脚本中的依赖冲突,groovy,dependencies,grape,Groovy,Dependencies,Grape,您好,我创建了一个groovy脚本,并使用Grab下载了一些依赖项。 在编译时,我抛出了以下异常 Caught: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.NodeImpl.getChildNodes()Lorg/w3c/dom/NodeList;" the class lo

您好,我创建了一个groovy脚本,并使用Grab下载了一些依赖项。 在编译时,我抛出了以下异常

Caught: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.NodeImpl.getChildNodes()Lorg/w3c/dom/NodeList;" 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 org/w3c/dom/NodeList used in the signature
java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.xerces.dom.NodeImpl.getChildNodes()Lorg/w3c/dom/NodeList;" 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 org/w3c/dom/NodeList used in the signature
    at org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source)
    at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at org.apache.ivy.util.XMLHelper.parseToDom(XMLHelper.java:223)
    at org.apache.ivy.plugins.parser.m2.PomReader.<init>(PomReader.java:122)
    at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:118)
    at org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:108)
    at org.apache.ivy.core.cache.DefaultRepositoryCacheManager$MyModuleDescriptorProvider.provideModule(DefaultRepositoryCacheManager.java:817)
    at org.apache.ivy.core.cache.ModuleDescriptorMemoryCache.getStale(ModuleDescriptorMemoryCache.java:68)
    at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.getStaledMd(DefaultRepositoryCacheManager.java:834)
    at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:1326)
    at org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:538)
    at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:273)
    at org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:506)
    at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104)
    at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:170)
    at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:292)
    at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:718)
    at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:803)
    at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
    at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:791)
    at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
    at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:791)
    at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
    at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:803)
    at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
    at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:599)
    at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
    at org.apache.ivy.Ivy.resolve(Ivy.java:523)
    at org.apache.ivy.Ivy$resolve$0.call(Unknown Source)
捕获:java.lang.LinkageError:接口itable初始化中的加载程序约束冲突:解析方法“org.apache.xerces.dom.NodeImpl.getChildNodes()Lorg/w3c/dom/NodeList”时;当前类的类加载程序(org/codehaus/groovy/tools/RootLoader实例)、org/apache/xerces/dom/NodeImpl和类加载程序(的实例)对于接口org/w3c/dom/Node,签名中使用的org/w3c/dom/NodeList类型具有不同的类对象
java.lang.LinkageError:接口itable初始化中的加载程序约束冲突:解析方法“org.apache.xerces.dom.NodeImpl.getChildNodes()Lorg/w3c/dom/NodeList”时;当前类的类加载程序(org/codehaus/groovy/tools/RootLoader实例)、org/apache/xerces/dom/NodeImpl和类加载程序(的实例)对于接口org/w3c/dom/Node,签名中使用的org/w3c/dom/NodeList类型具有不同的类对象
位于org.apache.xerces.parsers.AbstractDOMParser.startDocument(未知源)
位于org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(未知来源)
位于org.apache.xerces.impl.XMLDocumentScannerImpl.Startenty(未知来源)
位于org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(未知源)
位于org.apache.xerces.parsers.XML11Configuration.parse(未知源)
位于org.apache.xerces.parsers.XML11Configuration.parse(未知源)
位于org.apache.xerces.parsers.XMLParser.parse(未知源)
位于org.apache.xerces.parsers.DOMParser.parse(未知源)
位于org.apache.xerces.jaxp.DocumentBuilderImpl.parse(未知源)
位于org.apache.ivy.util.XMLHelper.parseToDom(XMLHelper.java:223)
位于org.apache.ivy.plugins.parser.m2.PomReader(PomReader.java:122)
位于org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:118)
位于org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParser.parseDescriptor(PomModuleDescriptorParser.java:108)
位于org.apache.ivy.core.cache.DefaultRepositoryCacheManager$MyModuleDescriptorProvider.provideModule(DefaultRepositoryCacheManager.java:817)
位于org.apache.ivy.core.cache.ModuleDescriptorMemoryCache.getStale(ModuleDescriptorMemoryCache.java:68)
位于org.apache.ivy.core.cache.DefaultRepositoryCacheManager.getStaledMd(DefaultRepositoryCacheManager.java:834)
位于org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:1326)
位于org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:538)
位于org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:273)
位于org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency(IBiblioResolver.java:506)
位于org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:104)
位于org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:170)
位于org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:292)
位于org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:718)
位于org.apache.ivy.core.resolve.resolvengine.doFetchDependencies(resolvengine.java:803)
位于org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
位于org.apache.ivy.core.resolve.resolvengine.doFetchDependencies(resolvengine.java:791)
位于org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
位于org.apache.ivy.core.resolve.resolvengine.doFetchDependencies(resolvengine.java:791)
位于org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
位于org.apache.ivy.core.resolve.resolvengine.doFetchDependencies(resolvengine.java:803)
位于org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:726)
位于org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:599)
位于org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
位于org.apache.ivy.ivy.resolve(ivy.java:523)
在org.apache.ivy.ivy$resolve$0.call(未知来源)

是否有人可以帮助查找导致问题的依赖项?

grab/grape详细日志记录应该可以帮助您,而且您似乎正在抓取与DOM内容冲突的内容。@daggett我现在有日志,我看到在下载spark core pom后,它无法读取它,出现上述异常。我删除了grab注释下载依赖项后从脚本文件中删除了,它现在正在工作。它应该如何工作?对meno来说似乎很奇怪。您有两个版本冲突的依赖项。例如,spark core下载dom v1,其他依赖项下载dom v2。您可以为抓取定义设置
transitive=false
标志,但您必须使用grab指定所有嵌套依赖项(来自pom),这是唯一的方法。