Grails2.4.3无法重新加载控制器或服务
我已经将Grails2.3.8项目升级到2.4.3。在2.3.8中,我们遇到了分叉执行的问题,所以我禁用了它。现在,当我启用它并尝试重新加载已更改的服务或控制器类时,会出现如下错误:Grails2.4.3无法重新加载控制器或服务,grails,reload,grails-2.4,Grails,Reload,Grails 2.4,我已经将Grails2.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\..
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
我有BuildConfig
forkConfig = [maxMemory: 2048, minMemory: 2048, debug: false, minPerm:256, maxPerm: 512]
grails.project.fork = [
test: forkConfig,
run: forkConfig,
war: forkConfig,
console: forkConfig
]
我运行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
无论我是否在运行应用程序中重新加载,错误都会出现。我理解错了什么吗?是不是这样,我不能同时进行重新加载和分叉执行
如果我将所有分叉条目设置为false,它的工作方式与以前一样
先谢谢你。
最好的祝愿:Balázs几小时前在grails dev discus邮件列表中发布了一个类似的问题。从我能够查看的示例应用程序来看,当正在编辑的类的包名中包含“grails”时,似乎发生了错误。
您应该在命名约定中检查这一点,并将其更改为更适合您的应用程序的内容。…谢谢您的回答。我们在一些包名中有grails,比如“com.company.grails.util”,但在控制器无法加载的地方没有。不管怎样,我还是尝试了…有没有关于包名的结果?从邮件列表中可以看出,您应该在包名中签入“grails”和“groovy”。我试图在Eclipse中重构它,但失败了。太复杂了。我禁用了分叉执行,一切都很好。但是,我不知道这是否是我的解决方案,因为未能重新加载的类在包名中既没有grails,也没有groovy。很抱歉,我不能尝试。我也遇到了这个错误,尽管使用grails重新加载-重新加载运行appNo-但它神奇地消失了,从此我就再也没有见过它。它也被隔离到一台机器上——其他运行相同代码库的机器没有问题。是否删除.grails文件夹和目标/生成文件夹并重试?