Как предотвратить автоматическую перезагрузку определенных файлов Grails? - PullRequest
2 голосов
/ 04 января 2012

При использовании Emacs для редактирования исходного файла Grails Emacs временно создает скрытые файлы блокировки записи рядом с исходным файлом. Например, если редактировать com/example/MyController, можно увидеть:

rob@machine:~/app$ ls -la grails-app/controllers/com/example/
total 28
drwxrwxr-x 3 rob rob 4096 2011-12-03 13:38 ..
-rw-rw-r-- 1 rob rob 3883 2012-01-03 13:57 MyController.groovy
lrwxrwxrwx 1 rob rob   26 2012-01-04 09:32 .#MyController.groovy -> rob@machine.2136:1324674574

Когда этот файл создается во время run-app, Grails замечает его и пытается скомпилировать, что часто приводит к ошибкам компиляции в журналах консоли run-app:

| Error 2012-01-04 09:32:51,207 [Thread-38] ERROR plugins.AbstractGrailsPluginManager  - Plugin [controllers:2.0.0] could not reload changes to file [/home/rob/app/grails-app/controllers/com/example/.#MyController.groovy]: Dynamic method is<Artefact>Class(artefactClass) requires a single Class parameter
Message: Dynamic method is<Artefact>Class(artefactClass) requires a single Class parameter
   Line | Method
->> 629 | doCall in SpringSecurityCoreGrailsPlugin$_closure5

Возможно, это происходит только при использовании плагина core-security-core, но я не проверял его без установленного плагина.

Я полагаю, что это происходит только в Grails 2.0; Я никогда не наблюдал это в 1.3.7 или ранее.

Есть ли способ заставить Grails игнорировать эти файлы при автоматической перекомпиляции во время run-app? Общий ответ для управления тем, что файлы делают и не загружаются, был бы идеальным.

Авторитетный ответ "нет, это невозможно" также приемлем для меня. Я понимаю, что это может быть просто невозможно через конфигурацию, и в этом случае я, вероятно, открою расширение JIRA.

1 Ответ

1 голос
/ 09 февраля 2012

Я не пробовал патч, но похоже, что это было недавно решено Грэмом:

https://github.com/grails/grails-core/commit/c201492dfa47419356fbfea2031d22755ea61fe9

Строка 224 исключает файлы, начинающиеся с точки (т. Е. Запись в emacslocks)

См. также: http://jira.grails.org/browse/GRAILS-8539, что указывает на то, что это может отображаться в 2.0.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...