2014-09-25 13 views
8

Tôi đã nâng cấp dự án Grails 2.3.8 lên 2.4.3. Trong 2.3.8, chúng tôi đã có vấn đề với thực hiện chia hai, vì vậy tôi đã vô hiệu hóa nó. Bây giờ, khi tôi kích hoạt nó, và cố gắng tải lại một dịch vụ thay đổi hoặc lớp điều khiển, tôi nhận được lỗi như thế này:Grails 2.4.3 không tải lại bộ điều khiển hoặc dịch vụ

2014-09-25 19:50:37,043 [Thread-11] ERROR plugins.AbstractGrailsPluginManager - 
Plugin [controllers:2.4.3] could not reload changes to file [C:\projects2\...\grails-app\controllers\com\...\AdminController.groovy]: 
Cannot get property 'cacheOperationSource' on null object 
java.lang.NullPointerException: Cannot get property 'cacheOperationSource' on null object 

2014-09-25 19:42:26,251 [Thread-11] ERROR plugins.AbstractGrailsPluginManager - 
Plugin [controllers:2.4.3] could not reload changes to file [C:\projects2\...\grails-app\controllers\...\AdminController.groovy]: 
Cannot get property 'instanceControllerTagLibraryApi' on null object 
java.lang.NullPointerException: Cannot get property 'instanceControllerTagLibraryApi' on null object 

tôi có trong BuildConfig

forkConfig = [maxMemory: 2048, minMemory: 2048, debug: false, minPerm:256, maxPerm: 512] 
grails.project.fork = [ 
    test: forkConfig, 
    run: forkConfig, 
    war: forkConfig, 
    console: forkConfig 
] 

tôi chạy Grails vậy:

set JAVA_OPTS=-Dgrails.full.stacktrace=true -Ddisable.auto.recompile=true -Xmx2048M -Xms2048M -XX:PermSize=512m -XX:MaxPermSize=1024m -Djava.net.preferIPv4Stack=true 
grailsw --stacktrace --verbose -Dserver.port=5678 run-app %1 %2 %3 %4 

Lỗi đến không có vấn đề gì nếu tôi có tải lại trong ứng dụng chạy hay không. Tôi có hiểu sai không? Có phải vậy, rằng tôi không thể tải lại và thực hiện chia đôi cùng một lúc?

Nếu tôi đặt tất cả các mục được chia thành sai, nó hoạt động như trước đây.

Cảm ơn bạn trước. Trân trọng: Balázs

Trả lời

2

Một vấn đề tương tự đã được đăng trong danh sách gửi thư grails dev discus vài giờ trước. Từ ứng dụng mẫu mà tôi có thể xem, có vẻ như lỗi xảy ra khi tên gói của lớp đang được chỉnh sửa có "grails" trong đó. https://groups.google.com/forum/#!topic/grails-dev-discuss/u5gvuwWXoTk

Bạn nên kiểm tra cho rằng trong quy ước đặt tên của bạn và thay đổi nó thành một cái gì đó cụ thể hơn để ứng dụng của bạn ....

+0

Cảm ơn bạn đã trả lời. Vâng, chúng tôi có grails trong một số tên gói như "com.company.grails.util" nhưng không phải nơi bộ điều khiển không tải được. Tôi vẫn thử nó ... –

+0

Bất kỳ kết quả nào có tên gói? Và từ danh sách gửi thư, cả 'grails' và 'groovy' mà bạn nên kiểm tra trong tên gói – daptordarattler

+0

Tôi đã cố gắng cấu trúc lại nó trong Eclipse, nhưng nó không thành công. Nó quá phức tạp. Tôi vô hiệu hóa thực hiện ngã ba, và tất cả mọi thứ là tốt. Tuy nhiên, tôi không biết đây có phải là giải pháp cho tôi hay không, vì lớp không tải lại không có grails, cũng không phải là groovy trong các tên gói. Xin lỗi, tôi không thể thử nó. –

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