Grails 2.0.0.RC3:无法重新加载对控制器的更改,java.lang.NoSuchFieldException:__ timeStamp__239_neverHappen1323622798918

时间:2011-12-11 17:44:14

标签: grails grails-controller

自从我开始评估Grails 2.0.0.RC3以来,这个错误最近出现了。 我对控制器进行了简单的更改,然后保存。

来自pictureList.count()以某种方式在1.3.7中工作但不在2.0.0RC3中

def tagged = {
        def pictureList = Picture.findAllByTag(params.id)
        render(view: 'list', model: [pictureInstanceList:pictureList, 
            tag:params.id, pictureInstanceTotal:pictureList.count()])
}

pictureList.size()更有意义,因为pictureList的类型为ArrayList

def tagged = {
        def pictureList = Picture.findAllByTag(params.id)
        render(view: 'list', model: [pictureInstanceList:pictureList, 
            tag:params.id, pictureInstanceTotal:pictureList.size()])
}

我收到编译输出消息,让我知道发生了什么。

| Compiling 1 source files
| Compiling 1 source files.
| Compiling 1 source files..
| Compiling 1 source files...

然后我重新加载页面,我得到了这个。

| Error 2011-12-11 17:00:01,908 [Thread-7] ERROR plugins.AbstractGrailsPluginManager  
- Plugin [controllers:2.0.0.RC3] could not reload changes to file 
[/Users/gotomanners/Documents/Projects/sampleProject/grails-app/controllers/sampleProject/PictureController.groovy]: 
java.lang.NoSuchFieldException: __timeStamp__239_neverHappen1323622798918
Message: java.lang.NoSuchFieldException: __timeStamp__239_neverHappen1323622798918
   Line | Method
->> 632 | doCall in SpringSecurityCoreGrailsPlugin$_closure5
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
^   680 | run    in java.lang.Thread

Caused by NoSuchFieldException: __timeStamp__239_neverHappen1323622798918
->> 1882 | getDeclaredField in java.lang.Class

现在从错误中恢复的唯一方法(我发现)是重启应用程序。

有没有人遇到过这个问题?如果可能的话,我会尝试隔离问题,这样我就可以提交错误报告。

我应该补充一点,这个应用程序最初基于grails 1.3.7,我最近将其升级到2.0.0RC1,现在升级到2.0.0RC3

2 个答案:

答案 0 :(得分:4)

您是否使用Intellij Idea并使用它运行grails app? 如果是这样,您可以尝试在Idea issue tracker上提供的临时解决方案:

  

将enable.groovy.hotswap = false添加到/bin/idea.properties并重新启动IDEA。

这为我解决了这个问题

答案 1 :(得分:0)

cntl + alt + G 并在Intellij Idea中运行 clean 命令..它必须正常工作

为我工作

如果不起作用,请将add.groovy.hotswap = false添加到/bin/idea.properties,然后运行清理

也适用!!