Ich habe ein Grails 2.3.8-Projekt auf 2.4.3 aktualisiert. In 2.3.8 hatten wir Probleme mit der gegabelten Ausführung, also habe ich es deaktiviert. Nun, wenn ich es ihr ermöglichen, und versuchen, eine geänderte Service oder Controller-Klasse zu laden, erhalte ich Fehler wie diese:Grails 2.4.3 kann Controller oder Dienst nicht neu laden
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
Ich habe in BuildConfig
forkConfig = [maxMemory: 2048, minMemory: 2048, debug: false, minPerm:256, maxPerm: 512]
grails.project.fork = [
test: forkConfig,
run: forkConfig,
war: forkConfig,
console: forkConfig
]
Ich betreibe Grails so:
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
Der Fehler kommt, egal ob ich in Run-App oder nicht laden. Verstehe ich etwas falsch? Ist es so, dass ich die Ausführung nicht gleichzeitig neu laden und abzweigen kann?
Wenn ich alle gegabelten Einträge auf false setze, funktioniert es wie vorher.
Vielen Dank im Voraus. Mit freundlichen Grüßen: Balázs
Danke für die Antwort. Nun, wir haben Grals in einigen Paketnamen wie "com.company.grails.util", aber nicht dort, wo der Controller nicht geladen werden kann. Ich probiere es trotzdem ... –
Irgendwelche Ergebnisse mit den Paketnamen? Und von den Mailinglisten, sowohl 'Grails' als auch 'groovy', dass Sie den Paketnamen einchecken sollten – daptordarattler
Ich habe versucht, es in Eclipse zu refaktorieren, aber es ist fehlgeschlagen. Es ist zu kompliziert. Ich habe die gegabelte Ausführung deaktiviert, und alles ist gut. Ich weiß jedoch nicht, ob dies eine Lösung für mich ist, da die Klasse, die nicht neu geladen werden konnte, in Paketnamen weder Grails noch Groovy hat. Tut mir leid, ich kann es nicht versuchen. –