2014-09-25 17 views
8

Zaktualizowałem projekt Grails 2.3.8 do wersji 2.4.3. W wersji 2.3.8 mieliśmy problemy z rozwidleniem, więc go wyłączyłem. Teraz, kiedy go włączyć, a następnie spróbuj ponownie załadować zmieniony usługę lub klasę kontrolera, otrzymuję błąd, takie jak:Grails 2.4.3 nie przeładowuje kontrolera lub usługi

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 

mam w BuildConfig

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

biegnę Grails tak:

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 

Błąd pojawia się niezależnie od tego, czy mam ładowanie w aplikacji, czy nie. Czy rozumiem coś nie tak? Czy to jest tak, że nie mogę jednocześnie przeładowywać I ROZWIĄZYWANIA ROZPORZĄDZENIA?

Jeśli ustawię wszystkie rozwidlone wpisy na fałsz, działa to tak jak poprzednio.

Z góry dziękuję. Pozdrawiamy: Balázs

Odpowiedz

2

Podobny problem został opublikowany w liście dyskusyjnej dev grails kilka godzin temu. Z przykładowej aplikacji, którą mogłem wyświetlić, wygląda na to, że błąd wystąpił, gdy nazwa pakietu edytowanej klasy zawierała "grails". https://groups.google.com/forum/#!topic/grails-dev-discuss/u5gvuwWXoTk

Należy sprawdzić, że w konwencji nazewnictwa i zmienić go na coś bardziej specyficznego dla aplikacji ....

+0

Dziękuję za odpowiedź. Cóż, mamy grails w niektórych nazwach pakietów, takich jak "com.company.grails.util", ale nie w miejscu, w którym kontroler nie może się załadować. I tak próbuję ... –

+0

Jakieś wyniki z nazwami pakietów? A z list mailingowych, zarówno jego "grails", jak i "groovy", które powinieneś sprawdzić w nazwie paczki – daptordarattler

+0

Próbowałem ją naprawić w Eclipse, ale nie udało się. To zbyt skomplikowane. Wyłączyłem rozwidlone wykonanie i wszystko jest dobrze. Jednak nie wiem, czy jest to rozwiązanie dla mnie, ponieważ klasa, która nie przeładowała, nie ma ani grails, ani groove w nazwach pakietów. Przepraszam, nie mogę tego wypróbować. –

Powiązane problemy