0

Hello I created a groovy script and downloaded some dependencies using Grab. At compile time I have the following exception thrown

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)

Can someone help to find which dependency is causing the problem ?

M. Justin
  • 14,487
  • 7
  • 91
  • 130
jerome
  • 2,029
  • 4
  • 38
  • 58
  • 1
    grab/grape verbose logging should help you https://stackoverflow.com/questions/3722280/groovy-grape-verbose – daggett Jan 17 '20 at 14:38
  • And it looks like you are grab-ing something that conflicts with the DOM stuff. – cfrick Jan 17 '20 at 15:15
  • @daggett I have the log now and I see that after downloading the spark-core pom it fails reading it with the exception above. – jerome Jan 17 '20 at 15:54
  • I removed the grab annotations from the script file after downloading the dependencies and it is working now. Is it how it is supposed to work ?? Seems strange to me – jerome Jan 17 '20 at 16:09
  • no. you have 2 dependencies with conflicted version. for example spark-core downloads dom v1 and other dependency downloads dom v2. you could set `transitive=false` flag for grab definitions, but then you have to specify all nested dependencies (from pom) by using grab. That's the only way. – daggett Jan 17 '20 at 16:25
  • This needs the actual `@Grab` commands used to be able to properly diagnose. Voting to close unless that gets added. – M. Justin Apr 13 '22 at 04:13

0 Answers0