Grails 2.3.0 Auto-reloading not working

淺唱寂寞╮ 提交于 2019-11-26 09:32:20

问题


I recently upgrade our project to grails 2.3.0. Everything works fine except I\'ve been having problems with auto-reload not working whenever I make changes to our code. This include all projects artefacts - controllers, domain, services, gsps, css and javascript files.

My older versions of grails work correctly and reloads and recompile every time I make a change.

I know this question is popular and I have searched Jira, Nabble and here for days now but none of what I have found have been able to solve my problem (I\'ve even tried to add quotes like Peter suggested in this thread http://jira.grails.org/browse/GRAILS-7936 and also this thread Grails Project Not Auto Reloading did not help).

Am currently running grails on a Macbook pro with the following settings:

  • grails version 2.3.0
  • Java version \"1.7.0_17\" Java(TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
  • Running from terminal with Textmate as IDE

Any help would be greatly appreciated.


回答1:


It seems that in Grails 2.3 the reloading is no longer the default

In Grails 2.3 the reloading agent is no longer on the build system path unless you pass the -reloading flag to the grails command:

grails -reloading run-app

However, you can enable forking in your buildConfig using the following configuration:

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 ]

More information : Forked Execution and the Reloading Agent




回答2:


I am using Grails 2.4.3 and IntelliJ 13 and I found that I had to have the -reloading part at the end of the run-app command.

In other words when you edit your Run/Debug configurations, in the 'Command Line' part put run-app -reloading and NOT -reloading run-app.

I found this solution here from user longwa




回答3:


Grails 2.4.x maintained the same support:

grails -reloading run-app

The logs will show the status of the reload once a "watched" file changes in the file-system:

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.....



回答4:


I was not able to fix my problem with reloading by any of the suggestions above. In my case the problem was my path, it contained a space! Took me a couple of days and half my beard but finally figured it out. My path was something like : ~/Box Sync/path/to/project. That single space in Box Sync was the hidden bad guy. I beleive it to be related to this ticket https://github.com/grails/grails-core/issues/9344.




回答5:


I dont need run with -reloading in the command line, its problem of springloaded.jar.

replace folder springloaded in grailsHome/lib/org.springframework/springloaded with the of grails sdk 2.4.3

https://mega.co.nz/#F!INgVnboD!r7ssrFy9TiCQ50ROqxWt8g

I tested in grails 2.5.0 and 2.4.*



来源:https://stackoverflow.com/questions/18882589/grails-2-3-0-auto-reloading-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!