2013-03-20 25 views
12

Tôi đang theo dõi cuốn sách trực tuyến miễn phí "Bắt đầu với Grails" (http://www.infoq.com/minibooks/grails-getting-started) và tôi nhận được một java.lang.ClassCastException khi cố gắng liệt kê bất kỳ lớp miền nào. Bất cứ ai có thể giải mã này?java.lang.ClassCastException trong ứng dụng Grails

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

Stack trace:

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 

thông tin bổ sung (khoảng dòng 186 của 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(

thông tin bổ sung (khoảng dòng 63 của 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

Bạn có thể bao gồm mã từ RunnerController hay không. Cho nó là đầu của dấu vết ngăn xếp đó là nơi bạn nên bắt đầu tìm kiếm. – David

+2

Hãy thử sức mạnh của grails sạch :) – uchamp

+0

Tôi đã nhận thấy vấn đề này khi tôi chạy từ ý tưởng, nhưng không phải từ dòng lệnh (grails run-app). Có lẽ điều này đã làm với môi trường? phiên bản sản xuất của chúng tôi đang sử dụng một db từ xa, và dev đang sử dụng hsqldb. – nycynik

Trả lời

21

Tôi đã gặp sự cố tương tự xảy ra trong vòng vài ngày đột ngột. Xóa ~/.grails/2.0.4/.slcache/thư mục sửa chữa nó cho tôi.

+0

Phím tắt - xóa toàn bộ thư mục .grails. – MeIr

+0

Đã không làm việc cho tôi: ( – Spider

+5

Cảm ơn! BTW, trong môi trường của tôi, đó là ~/.grails/.slcache /. – coderLMN

0

Ứng dụng có bắt đầu tải lại (spring-loaded agent) bị vô hiệu hóa không?

grails -noreloading run-app 

Một vấn đề tương tự đã được báo cáo cho Grails Jira là GRAILS-9952. Nó sẽ giúp khắc phục sự cố nếu bạn có thể cung cấp ứng dụng thử nghiệm tái tạo sự cố. Vui lòng đính kèm điều đó vào vấn đề jira.

3

Xóa .slcache ở cả đầu của thư mục con .grails và cũng là .slcache, nếu nó tồn tại, đối với phiên bản grails cụ thể đang được sử dụng. Ví dụ: ~/.grails/2.1.3/.slcache.

Tính năng này hoạt động khi sử dụng IntelliJ IDEA để khởi chạy ứng dụng.

Các vấn đề liên quan