Grails 2.3.0 Автоматическая перезагрузка не работает

Недавно я обновил наш проект до grails 2.3.0. Все работает отлично, за исключением того, что у меня возникли проблемы с автоматической перезагрузкой, не работая, когда я вношу изменения в наш код. Сюда входят все артефакты проектов - контроллеры, домен, службы, gsps, css и файлы javascript.

Мои старые версии grails работают правильно и перезагружаются и перекомпилируются каждый раз, когда я делаю изменения.

Я знаю, что этот вопрос популярен, и я обыскал Jira, Nabble и вот уже несколько дней, но ни одно из того, что я нашел, не смог решить мою проблему (я даже пытался добавить цитаты, подобные Peter, предложенные в этой теме http://jira.grails.org/browse/GRAILS-7936, а также этот поток Проект Grails не автообновления не помог),

В настоящее время выполняется Grails на Macbook pro со следующими настройками:

  • grails версия 2.3.0
  • Версия Java "1.7.0_17" Java (TM) SE Runtime Environment (сборка 1.7.0_17-b02) Java HotSpot (TM) 64-разрядная серверная VM (сборка 23.7-b01, смешанный режим)
  • Работает с терминалом с Textmate как IDE

Любая помощь будет принята с благодарностью.

Ответ 1

Кажется, что в Grails 2.3 перезагрузка больше не является значением по умолчанию

В Grails 2.3 перезагружающий агент больше не находится в системе сборки путь, если вы не передадите флаг -reloading команде grails:

grails -reloading run-app

Однако вы можете включить forking в свой 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 ]

Дополнительная информация: Forked Execution и агент перезагрузки

Ответ 2

Я использую Grails 2.4.3 и IntelliJ 13, и я обнаружил, что должен был иметь часть -reloading в конце команды run-app.

Другими словами, когда вы редактируете конфигурацию Run/Debug, в разделе "Командная строка" поставьте run-app -reloading и NOT -reloading run-app.

Я нашел это решение здесь от пользователя longwa

Ответ 3

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

Ответ 4

Мне не удалось исправить мою проблему при перезагрузке по любым из приведенных выше предложений. В моем случае проблема была моей дорогой, она содержала пространство! Я взял пару дней и половину бороды, но, наконец, понял это. Мой путь был примерно таким: ~/Box Sync/path/to/project. Это единственное место в Box Sync было скрытым плохим парнем. Я полагаю, что это связано с этим билетом https://github.com/grails/grails-core/issues/9344.

Ответ 5

Мне не нужно запускать с -перегрузкой в ​​командной строке, проблема с springloaded.jar.

заменить папку springloaded в grailsHome/lib/org.springframework/springloaded с grails sdk 2.4.3

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

Я тестировал в grails 2.5.0 и 2.4. *