如何在grails Web应用程序中使用grails REST Web服务?

时间:2012-01-13 11:06:11

标签: rest grails

我已成功创建grails REST Web服务。它以XML格式工作并返回数据(http:// localhost:9001 / GISServerRESTfulService / layout / show)。但是当我尝试在另一个grails Web应用程序中访问此服务时,即使在添加HTTPBuilder-0.5.3 jar文件之后它也没有运行。它给出了以下依赖性解决错误:

Base Directory: C:\Pojects\Java Projects\GrailsRESTfulClient
Resolving dependencies...
Dependencies resolved in 703ms.
Running script C:\grails\scripts\RunApp.groovy
Error executing script RunApp: 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/grails/cli/support/GrailsRootLoader) 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/grails/cli/support/GrailsRootLoader) 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.log4j.xml.DOMConfigurator$2.parse(DOMConfigurator.java:767)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:866)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:773)
        at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:483)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
        at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:243)
        at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
        at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
        at org.springframework.core.io.support.PathMatchingResourcePatternResolver.<clinit>(PathMatchingResourcePatternResolver.java:169)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at grails.util.PluginBuildSettings.class$(PluginBuildSettings.groovy)
        at grails.util.PluginBuildSettings.$get$$class$org$springframework$core$io$support$PathMatchingResourcePatternResolver(PluginBuildSettings.groovy)
        at grails.util.PluginBuildSettings.<clinit>(PluginBuildSettings.groovy:62)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at _GrailsSettings_groovy.class$(_GrailsSettings_groovy)
        at _GrailsSettings_groovy.$get$$class$grails$util$PluginBuildSettings(_GrailsSettings_groovy)
        at _GrailsSettings_groovy.run(_GrailsSettings_groovy:78)
        at _GrailsSettings_groovy$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at _GrailsClasspath_groovy$run.call(Unknown Source)
        at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
        at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at _GrailsClasspath_groovy.run(_GrailsClasspath_groovy:33)
        at _GrailsClasspath_groovy$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at _GrailsEvents_groovy$run.call(Unknown Source)
        at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
        at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at _GrailsEvents_groovy.run(_GrailsEvents_groovy:31)
        at _GrailsEvents_groovy$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at _GrailsClean_groovy$run.call(Unknown Source)
        at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
        at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at _GrailsClean_groovy.run(_GrailsClean_groovy:29)
        at _GrailsClean_groovy$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at _GrailsPlugins_groovy$run.call(Unknown Source)
        at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
        at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at _GrailsPlugins_groovy.run(_GrailsPlugins_groovy:32)
        at _GrailsPlugins_groovy$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at _GrailsRun_groovy$run.call(Unknown Source)
        at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
        at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at _GrailsRun_groovy.run(_GrailsRun_groovy:31)
        at _GrailsRun_groovy$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
        at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
        at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at RunApp.run(RunApp.groovy:25)
        at RunApp$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
        at gant.Gant.prepareTargets(Gant.groovy:606)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeWithGantInstance(GrailsScriptRunner.java:663)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.java:526)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeCommand(GrailsScriptRunner.java:310)
        at org.codehaus.groovy.grails.cli.GrailsScriptRunner.main(GrailsScriptRunner.java:135)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
        at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
Error executing script RunApp: 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/grails/cli/support/GrailsRootLoader) 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

我对grails和groovy很新。有谁知道如何解决它?

提前致谢。

1 个答案:

答案 0 :(得分:1)

尝试此帖子groovy web services或此博客http://little418.com/2009/05/grails-throws-javalanglinkageerror-on-startup.html

使用一种不同版本的库的两个依赖项!