Java.lang.ClassCastException в приложении Grails

Я следую бесплатной онлайн-книге "Начало работы с 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

Дополнительная информация (около строки 186 страницы PageFragmentCachingFilter.java)

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(

Дополнительная информация (около строки 63 AbstractFilter.java):

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

У меня была такая же проблема, которая происходила внезапно через пару дней назад. Удаление файла ~/.grails/2.0.4/.slcache/исправляет его для меня.

Ответ 2

Удалите .slcache как в верхней части подкаталога .grails, так и в .slcache, если он существует, для конкретной версии используемого grails. Например, ~/.grails/2.1.3/.slcache.

Это сработало при использовании IntelliJ IDEA для запуска приложения.

Ответ 3

Запускает ли приложение перезагрузку (spring -loaded agent) отключено?

grails -noreloading run-app

Аналогичная проблема была сообщена Grails Jira как GRAILS-9952. Это поможет устранить проблему, если вы можете предоставить тестовое приложение, которое воспроизводит проблему. Приложите это к проблеме jira.