首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails启动错误: groovy.lang.Closure.rehydrate(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lgroovy/lang/Closure;

Grails启动错误: groovy.lang.Closure.rehydrate(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lgroovy/lang/Closure;
EN

Stack Overflow用户
提问于 2012-09-18 03:19:03
回答 2查看 651关注 0票数 1

在Tomcat6/ Ubuntu 12.04上启动Grails 2.1.0应用程序时,我得到以下错误。

代码语言:javascript
复制
Error 500 - Internal Server Error.

groovy.lang.Closure.rehydrate(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lgroovy/lang/Closure;

在Windows7上使用STS3.0中的run-app和在Windows上使用Tomcat6时,这款应用运行得很好。

我已经手动部署了war

我已经看到一个部署到Cloud Foundry的应用程序报告了类似的问题:Error 500: Closure.rehydrate at deploying grails app on cloud foundry,但没有任何线索。

这款应用之前运行得很好。我最近做了一些代码更改,包括安装ElasticSearch插件,但日志中的错误指的是从gsps构建视图。

代码语言:javascript
复制
INFO: Initializing Spring FrameworkServlet 'grails'
17-Sep-2012 11:34:47 org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet grails threw exception
java.lang.NoSuchMethodError: groovy.lang.Closure.rehydrate(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lgroovy/lang/Closure;
    at org.codehaus.groovy.grails.web.taglib.GroovyPageTagBody.<init>(GroovyPageTagBody.java:65)
    at org.codehaus.groovy.grails.web.taglib.GroovyPageTagBody.<init>(GroovyPageTagBody.java:49)
    at org.codehaus.groovy.grails.web.pages.GroovyPage.createTagBody(GroovyPage.java:630)
    at org.codehaus.groovy.grails.web.pages.GroovyPage$createTagBody.callCurrent(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)
    at gsp_bipboxindex_gsp.run(index.gsp:4)

任何线索都非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-18 11:28:19

Closure.rehydrate是在Groovy1.8.5中引入的。看起来在战争中有一个老版本的groovy。检查war文件中的WEB-INF/lib目录,查看其中是否包含groovy的副本和旧版本。

票数 4
EN

Stack Overflow用户

发布于 2015-08-19 21:56:12

给其他遇到这个问题的人。David在9月18日的评论是正确的,有时候你的插件会引入一些服务器不支持的旧版本的Groovy。下面是你需要做的事情来解决这个问题:

在BuildConfig.groovy中找到这些条目,并添加一行以排除groovy。

代码语言:javascript
复制
grails.project.dependency.resolution = {
    inherits("global") {
        excludes "groovy" //ADD THIS LINE
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12465764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档