Grails 2.4.3无法重新加载控制器或服务

Bám*_*ázs 8 grails reload grails-2.4

我已将Grails 2.3.8项目升级到2.4.3.在2.3.8中,我们遇到分叉执行问题,所以我已经禁用了它.现在,当我启用它,并尝试重新加载已更改的服务或控制器类时,我得到如下错误:

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
Run Code Online (Sandbox Code Playgroud)

我在BuildConfig中

forkConfig = [maxMemory: 2048, minMemory: 2048, debug: false, minPerm:256, maxPerm: 512]
grails.project.fork = [
    test: forkConfig,
    run: forkConfig, 
    war: forkConfig, 
    console: forkConfig
] 
Run Code Online (Sandbox Code Playgroud)

我运行Grails所以:

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
Run Code Online (Sandbox Code Playgroud)

无论我是否在run-app中重新加载,都会出现错误.我理解错了吗?是这样,我不能同时重新加载和分叉执行?

如果我将所有分叉条目设置为false,它就像以前一样工作.

先感谢您.最好的问候:Balázs

小智 2

几个小时前,grails dev Discus 邮件列表中也发布了类似的问题。从我能够查看的示例应用程序来看,当正在编辑的类的包名称中包含“grails”时,似乎发生了错误。 https://groups.google.com/forum/#!topic/grails-dev-discuss/u5gvuwWXoTk

您应该在命名约定中检查这一点,并将其更改为更适合您的应用程序的名称......