2013-03-20 56 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啓動應用程序時,這工作。