Grails应用程序中的java.lang.ClassCastException

Grails应用程序中的java.lang.ClassCastException,exception,grails,groovy,classcastexception,Exception,Grails,Groovy,Classcastexception,我正在阅读免费的在线书籍《Grails入门》(Getting Started with Grails),在尝试列出任何域类时,我会得到一个java.lang.ClassCastException。有人能破译这个吗 URI: /RaceTrack/runner/list Class: java.lang.ClassCastException Message: sun.proxy.$Proxy26 cannot be cast to org.springframework.orm.hibernate

我正在阅读免费的在线书籍《Grails入门》(Getting Started with Grails),在尝试列出任何域类时,我会得到一个java.lang.ClassCastException。有人能破译这个吗

URI: /RaceTrack/runner/list
Class: java.lang.ClassCastException
Message: sun.proxy.$Proxy26 cannot be cast to org.springframework.orm.hibernate3.HibernateCallback
堆栈跟踪:

    Line | Method
->>   15 | list      in RunnerController.groovy
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    186 | doFilter  in PageFragmentCachingFilter.java
|     63 | doFilter  in AbstractFilter.java
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run       in java.lang.Thread
其他信息(在PageFragmentCachingFilter.java的第186行附近)


应用程序是否在禁用重新加载()的情况下启动

grails -noreloading run-app

Grails Jira也报告了类似的问题。如果你能提供一个能重现问题的测试应用程序,这将有助于解决问题。请将其附在jira问题上。

几天前,我突然遇到了同样的问题。删除~/.grails/2.0.4/.slcache/目录为我修复了它。

Delete.slcache在.grails子目录顶部和.slcache(如果存在)中,用于正在使用的特定版本的grails。例如,~/.grails/2.1.3/.slcache


这在使用IntelliJ IDEA启动应用程序时起到了作用。

请您将RunnerController中的代码包括在内。如果它是堆栈顶部的跟踪,那么应该从这里开始查看。尝试grails clean的强大功能:)我在使用idea运行时注意到了这个问题,但在命令行(grails run app)中没有注意到。也许这与环境有关?我们的生产版本使用的是远程数据库,而开发人员使用的是hsqldb。从IDEA运行时也会遇到问题,但不是从命令行运行。清除.slcache没有帮助,因此必须与IDEA.Shortcut相关-删除整个.grails文件夹。谢谢!顺便说一句,在我的环境中,它是~/.grails/.slcache/。
60:     try {
61:         // NO_FILTER set for RequestDispatcher forwards to avoid double gzipping
62:         if (filterNotDisabled(request)) {
63:             doFilter(request, response, chain);
64:         }
65:         else {
66:             chain.doFilter(req, res);
grails -noreloading run-app