繁体   English   中英

将rest插件与grails项目一起使用

[英]use rest plugin with grails project

我有grails应用程序,在我安装REST PLUGIN之前,它运行良好。 安装后,我尝试运行我的应用程序,但是由于以下原因导致运行失败。

| Loading Grails 2.0.3
| Configuring classpath.
| Environment set to development.....
| Packaging Grails application.....
| Error Error executing script RunApp: loader constraint violation: 
  loader (instance of <bootloader>) previously initiated loading for a different 
  type with name "org/w3c/dom/TypeInfo" (Use --stacktrace to see the full trace)

注意:我使用grails 2.0.3和groovy 1.8.6以及eclipse spring source工具套件2.9.1

我尝试grails> run-app --stacktrace

| Loading Grails 2.0.3
| Configuring classpath.
| Environment set to development.....
| Packaging Grails application.....
| Error Error executing script RunApp: loader constraint violation: 
  loader (instance of <bootloader>) previously initiated loading for a 
  different type with name "org/w3c/dom/TypeInfo" 
  (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)

java.lang.LinkageError: loader constraint violation: loader 
  (instance of <bootloader>) previously initiated loading for a different 
  type with name "org/w3c/dom/TypeInfo"

at com.springsource.loaded.ri.ReflectiveInterceptor.jlClassGetDeclaredMethods
  (ReflectiveInterceptor.java:123)

at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke
  (ReflectiveInterceptor.java:1231)

at _GrailsPackage_groovy$_run_closure5_closure10.doCall
  (_GrailsPackage_groovy:121)

at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke
  (ReflectiveInterceptor.java:1231)

at _GrailsPackage_groovy$_run_closure5_closure10.doCall
  (_GrailsPackage_groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke
  (ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod (GantMetaClass.java:133)

at _GrailsPackage_groovy$_run_closure5.doCall(_GrailsPackage_groovy:119)

at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke
  (ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)

at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke
  (ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16_closure18.doCall(GantBinding.groovy:185)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16_closure18.doCall(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at java_util_concurrent_Callable$call.call(Unknown Source)

at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)

at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16.doCall(GantBinding.groovy:185)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16.doCall(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)

at _GrailsPackage_groovy$_run_closure2.doCall(_GrailsPackage_groovy:61)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16_closure18.doCall(GantBinding.groovy:185)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16_closure18.doCall(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at java_util_concurrent_Callable$call.call(Unknown Source)

at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)

at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16.doCall(GantBinding.groovy:185)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16.doCall(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.processClosure(GantMetaClass.java:81)

at org.codehaus.gant.GantMetaClass.processArgument(GantMetaClass.java:95)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:128)

at RunApp$_run_closure1.doCall(RunApp.groovy:28)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16_closure18.doCall(GantBinding.groovy:185)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_c
   losure16_closure18.doCall(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at java_util_concurrent_Callable$call.call(Unknown Source)

at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)

at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16.doCall(GantBinding.groovy:185)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_
   closure16.doCall(GantBinding.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at java_util_concurrent_Callable$call.call(Unknown Source)

at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at java_util_concurrent_Callable$call.call(Unknown Source)

at gant.Gant.withBuildListeners(Gant.groovy:427)

at gant.Gant.this$2$withBuildListeners(Gant.groovy)

at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)

at gant.Gant.dispatch(Gant.groovy:415)

at gant.Gant.this$2$dispatch(Gant.groovy) 

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at gant.Gant.invokeMethod(Gant.groovy)

at gant.Gant.executeTargets(Gant.groovy:591)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

at gant.Gant.executeTargets(Gant.groovy:590)

at com.springsource.loaded.ri.ReflectiveInterceptor.
   jlrMethodInvoke(ReflectiveInterceptor.java:1231)

| Error Error executing script RunApp: loader constraint violation: 
  loader (instance of <bootloader>) previously initiated loading for a 
  different type with name "org/w3c/dom/TypeInfo"

application.properties:

#Grails Metadata file
#Mon May 21 10:44:15 EEST 2012
app.grails.version=2.0.3
app.name= my-application
app.servlet.version=2.4
app.version=0.1
plugins.ckeditor=3.4.0.1
plugins.crypto=2.0
plugins.email-confirmation=1.0.4
plugins.excel-import=0.3
plugins.filter=0.2
plugins.filterpane=0.7
plugins.gsec=1.0
plugins.hibernate=2.0.3
plugins.mail=0.9
plugins.navigation=1.1.1
plugins.p6spy=0.5
plugins.quartz=0.4.2
plugins.rest=0.7
plugins.tomcat=2.0.3
plugins.webflow=2.0.0

有帮助吗?

注意:我尝试使用REST Client Builder插件,但我不知道如何使用它以及如何发送json请求正文。 any one know?

使用REST Client Builder插件很容易,就像:

def test (String testName, String testDescription){
    def restBuilder = new RestBuilder()
    def restRequest = restBuilder.post(url){
        contentType "application/json"
        json {
            name = testName
            description = testDescription
        }
    }
    restRequest.json
}

1-网址:是您要发布请求的网址

2-名称和说明:是您将在网络服务器中收到的调用此方法的参数的名称

注意:不要忘记安装REST Client Builder插件,并在使用它的类中import grails.plugins.rest.client.RestBuilder

这是Grails中的错误。 在春季加载的技术中,允许在Grails中热重载类的技术导致REST Client Build插件出现问题。

以下命令应允许您使用插件:

grails -noreloading运行应用程序

我有一个类似的问题(尽管我只需要http-builder库而不是插件本身)。 -noreloading选项没有使它变得更好。

但是,正如此处所指出的, http://jira.grails.org/browse/GPEXPORT-18?focusedCommentId = 69307&page = com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-69307一个人可以手动列出在BuildConfig.groovy中,所有引用xmlbeans并显式排除xmlbeans的模块

compile (group:'org.apache.poi', name:'poi', version:'3.7') {
  excludes 'xmlbeans'
}
compile (group:'org.apache.poi', name:'poi-ooxml', version:'3.7') {
  excludes 'xmlbeans'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM