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

时间:2013-03-20 20:40:53

标签: exception grails groovy classcastexception

我正在关注免费在线书籍“Grails入门”(http://www.infoq.com/minibooks/grails-getting-started),并且在尝试列出任何域类时,我收到了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行附近)

183:            if(method == null) {
184:                log.debug("No cacheable method found for {}:{} {}",
185:                        new Object[] { request.getMethod(), request.getRequestURI(), getContext() });
186:                chain.doFilter(request, response);
187:                return;
188:            }
189:            Collection<CacheOperation> cacheOperations = cacheOperationSource.getCacheOperations(

其他信息(在AbstractFilter.java的第63行附近):

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);

3 个答案:

答案 0 :(得分:22)

我几天前突然发生了同样的问题。删除〜/ .grails / 2.0.4 / .slcache /目录可以解决它。

答案 1 :(得分:3)

删除.grails子目录顶部的.slcache以及正在使用的特定Grails版本的.slcache(如果存在)。例如,〜/ .grails / 2.1.3 / .slcache。

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

答案 2 :(得分:1)

应用启动时是否已禁用重新加载(spring-loaded agent)?

grails -noreloading run-app

Grails Jira报告了类似的问题GRAILS-9952。如果您可以提供可以重现问题的测试应用程序,它将有助于解决问题。请将其附在jira问题上。