4

我将 Grails 2.2.2 与 GGTS 3.3M1 一起使用。当我运行我的应用程序(grails run-app)并更改 groovy 文件中的某些内容时,Grails 会重新编译该文件。在此过程中,会出现以下错误输出:

 | Error Unexpected problem clearing ThreadGroupContext beaninfo: 
 | Error java.lang.ClassCastException: java.beans.WeakIdentityMap cannot be cast to java.util.Map
 | Error    at org.springsource.loaded.agent.JVMPlugin.reloadEvent(JVMPlugin.java:77)
 | Error    at org.springsource.loaded.TypeRegistry.fireReloadEvent(TypeRegistry.java:1594)
 | Error    at org.springsource.loaded.ReloadableType.loadNewVersion(ReloadableType.java:396)
 | Error    at org.springsource.loaded.TypeRegistry.loadNewVersion(TypeRegistry.java:805)
 | Error    at org.springsource.loaded.agent.ReloadableFileChangeListener.fileChanged(ReloadableFileChangeListener.java:51)
 | Error    at org.springsource.loaded.agent.Watcher.determineChangesSince(FileSystemWatcher.java:218)
 | Error    at org.springsource.loaded.agent.Watcher.run(FileSystemWatcher.java:205)
 | Error    at java.lang.Thread.run(Thread.java:722)
 Reloading: JVMPlugin: warning: unable to clear BEANINFO_CACHE, cant find field

编译似乎工作正常,但错误仍然存​​在。

4

1 回答 1

9

这是因为您使用的是 JDK 1.7 update 21。在该版本的 JDK 中“移动”了一些东西,并且状态清除逻辑需要在 springloaded 中更新。这已经在 springloaded 代码库中修复了,但暂时不会出现在新的 grails 版本中。JDK 1.7 的旧版本就可以了。您可以忽略该消息,但这意味着重新加载类型时未清除某些状态 - 这意味着它可能看起来没有重新加载您可能对类型所做的某些更改。

于 2013-04-29T20:12:25.313 回答