2013-03-20 24 views
12

我正在关注免费的在线书籍“Grails入门”(http://www.infoq.com/minibooks/grails-getting-started),并在尝试列出任何域类时遇到java.lang.ClassCastException。任何人都可以破译这个?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线)

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

您可以请包含来自RunnerController的代码。鉴于它是堆栈跟踪的顶部,您应该从哪里开始寻找。 – David 2013-03-21 02:20:27

+2

尝试grails干净的力量:) – uchamp 2013-03-21 05:43:46

+0

当我从想法运行,但不是从命令行(grails run-app)运行时,我注意到了这个问题。也许这与环境有关?我们的生产版本使用远程数据库,并且开发人员使用hsqldb。 – nycynik 2013-07-09 19:31:19

回答

21

我已经有相同的问题发生在突然几天后。删除〜/ .grails/2.0.4/.slcache /目录会为我解决它。

+0

快捷方式 - 删除整个.grails文件夹。 – MeIr 2013-11-15 21:47:47

+0

没有为我工作:( – Spider 2014-02-18 13:18:01

+5

谢谢!顺便说一句,在我的环境中,它是〜/ .grails/.slcache /。 – coderLMN 2014-02-25 07:56:10

0

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

grails -noreloading run-app 

类似的问题已被报道给Grails Jira GRAILS-9952。如果您可以提供可重现问题的测试应用程序,它将有助于解决问题。请将其附加到jira问题。

3

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

当使用IntelliJ IDEA启动应用程序时,这工作。

相关问题