rest - 如何在Grails Web应用程序中使用Grails REST Web服务?

标签 rest grails

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

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非常陌生。有人知道如何解决吗?

提前致谢。

最佳答案

试试这个线程groovy web services或这个博客http://little418.com/2009/05/grails-throws-javalanglinkageerror-on-startup.html

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

关于rest - 如何在Grails Web应用程序中使用Grails REST Web服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849606/

相关文章:

grails - 返回到Spring安全性中请求的URL

grails - 如何在我的 Java 项目中使用 groovy 域类?

grails - 如何在 Groovy/Grails 中记录标签库(或一般的闭包)

使用 JwT token 身份验证对 HTTP Rest API 的 Python 发布请求生成重复的帖子

java - 作为 jar 文件运行时返回字符串作为 JSON 响应失败并显示 500 状态代码

json - 将对象根添加到JSON

grails - 在Grails GSP中预览多张照片

java - 代号1 POST 请求主体

rest - HTTP/Rest 找出服务器上可用的内容类型

java - HttpServletResponse 到 javax.ws.rs.core.Response