2011-12-11 21 views
5

自从我开始评估Grails 2.0.0.RC3以来,此错误一直在弹出。 我对控制器进行了简单的更改,然后保存。Grails 2.0.0.RC3:无法重新加载对控制器的更改,java.lang.NoSuchFieldException:__timeStamp__239_neverHappen1323622798918

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

+0

你有没有试过在邮件列表上提问? – Antoine

+0

我也遇到过2.0.0.RC3。如果你可以一直重复它,我会建议提交一个错误报告 –

+0

同样在这里,非常讨厌。 – Peter

回答

4

你使用的IntelliJ IDEA和运行的Grails应用它? 如果是的话,你可能会思想的issue tracker作为提供尝试这种治标不治本:

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

此修复了这个问题对我来说

+0

这是否阻止了类的重新加载?如果是这样,这不是一个很好的帮助 - – Peter

+0

这个问题是intelliJ中的一个错误10.通过使用grails的命令行解决它,使用上述的解决方法或升级到Intellij 11 – gotomanners

+0

确认添加了enable.groovy.hotswap = false到/bin/idea.properties可以避免这个问题,并且仍然允许Grails在运行中重新加载更改。很好的解决方法。 – Peter

0

CNTL + ALT + G并运行IntelliJ IDEA的干净命令..它必须努力

为我工作

如果不起作用,添加enable.groovy.hotswap = false到/bin/idea.properties然后运行clean

也可以!