我最近将我们的项目升级到grails 2.3.0。一切正常,但每当我对代码进行更改时,我一直遇到自动重载问题。这包括所有项目的人工制品 - 控制器,域名,服务,gsps,css和javascript文件。
我的旧版本的grails正常运行,每次进行更改时都会重新加载并重新编译。
我知道这个问题很受欢迎,我已经搜索了Jira,Nabble和这里好几天了但是我发现的一切都没能解决我的问题(我甚至试图添加像Peter这样的帖子中提到的引号http://jira.grails.org/browse/GRAILS-7936以及此帖子Grails Project Not Auto Reloading没有帮助)。
我目前正在使用以下设置在Macbook Pro上运行grails:
非常感谢任何帮助。
答案 0 :(得分:50)
似乎在Grails 2.3中,重新加载不再是默认的
在Grails 2.3中,重新加载代理不再在构建系统上 路径,除非您将-reloading标志传递给grails命令:
grails -reloading run-app
但是,您可以使用以下配置在buildConfig中启用分叉:
forkConfig = [maxMemory: 1024, minMemory: 64, debug: false, maxPerm: 256]
grails.project.fork = [
test: forkConfig, // configure settings for the test-app JVM
run: forkConfig, // configure settings for the run-app JVM
war: forkConfig, // configure settings for the run-war JVM
console: forkConfig // configure settings for the Swing console JVM ]
答案 1 :(得分:8)
我正在使用Grails 2.4.3和IntelliJ 13,我发现我必须在-reloading
命令的末尾有run-app
部分。
换句话说,当您编辑运行/调试配置时,在“命令行”部分放置run-app -reloading
而不是-reloading run-app
。
我在用户longwa
中找到了此解决方案here答案 2 :(得分:7)
Grails 2.4.x保持同样的支持:
grails -reloading run-app
一旦观看"日志将显示重新加载的状态。文件系统中的文件更改:
2014-09-23 00:42:02,666 [localhost-startStop-1] INFO conf.BootStrap - Checking for registries in system env
| Server running. Browse to http://localhost:8080/docker-registry-ui
| Compiling 1 source files.....
答案 3 :(得分:3)
我无法通过上述任何建议重新加载我的问题。在我的情况下,问题是我的路径,它包含一个空间!我花了几天半的胡子,但终于弄清楚了。
我的路径是:~/Box Sync/path/to/project
。
Box Sync
中的那个空间是隐藏的坏人。
我相信它与这张票https://github.com/grails/grails-core/issues/9344有关。
答案 4 :(得分:2)
我不需要在命令行中运行-reloading,它的问题是springloaded.jar。
替换grailsHome / lib / org.springframework / springloaded with grails sdk 2.4.3中弹出的文件夹
https://mega.co.nz/#F!INgVnboD!r7ssrFy9TiCQ50ROqxWt8g
我在grails 2.5.0和2.4。*
中进行了测试