Grails XOM linkageerror - SAXParserException

2019-07-30 12:57发布

Possibly related: Grails - attempting to include HTPPBuilder - Linkage error

I'm trying to include XOM in my grails project. How do I know which dependency library I need to exclude? I'm lost here.

dependencies {
    build('xom:xom:1.1') {
        excludes "xml-apis"
    }
}

Error:

java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for
a different type with name "org/xml/sax/SAXParseException"
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.getDeclaredMethods(Class.java:1791)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:33)
        at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:20)
        at grails.util.PluginBuildSettings.getPluginInfos(PluginBuildSettings.groovy:124)
        at grails.util.PluginBuildSettings.getPluginInfos(PluginBuildSettings.groovy)
        at grails.util.PluginBuildSettings$getPluginInfos.callCurrent(Unknown Source)
        at grails.util.PluginBuildSettings.getPluginInfo(PluginBuildSettings.groovy:160)
        at grails.util.PluginBuildSettings$getPluginInfo.callCurrent(Unknown Source)
        at grails.util.PluginBuildSettings.getPluginInfoForSource(PluginBuildSettings.groovy:195)
        at org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransformationVisitor.java:303)
        at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:820)
        at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:513)
        at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:489)
        at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:466)
        at _GrailsEvents_groovy.run(_GrailsEvents_groovy:54)
        at _GrailsEvents_groovy$run.call(Unknown Source)
        at _GrailsArgParsing_groovy$run.call(Unknown Source)
        at _GrailsArgParsing_groovy.run(_GrailsArgParsing_groovy:29)
        at _GrailsArgParsing_groovy$run.call(Unknown Source)
        at _GrailsInit_groovy$run.call(Unknown Source)
        at _GrailsInit_groovy.run(_GrailsInit_groovy:38)
        at _GrailsInit_groovy$run.call(Unknown Source)
        at Help_.run(Help_.groovy:27)
        at Help_$run.call(Unknown Source)
        at gant.Gant.processTargets(Gant.groovy:494)
        at gant.Gant.processTargets(Gant.groovy:480)

3条回答
该账号已被封号
2楼-- · 2019-07-30 13:07

I got it to work in my project if I put the xom jar into the /lib directory and not use the dependency DSL. I am not sure why this works though.

查看更多
一夜七次
3楼-- · 2019-07-30 13:25

There is no answer to this question. Just don't use XOM with Grails; XmlSlurper and GPath are comparable.

查看更多
迷人小祖宗
4楼-- · 2019-07-30 13:31

I am having the same problem with XOM. I am trying to rework a servlet app into a grails project and have a bunch of Java classes that I need that use XOM. So it seems that the only way is to manually copy in the file. Sigh.

查看更多
登录 后发表回答