Мой сервер приложений Grails перезапускается снова и снова - PullRequest
9 голосов
/ 23 января 2010

Я вносил небольшие изменения в свое приложение, и в какой-то момент сервер приложений grails решил, что ему нужно перезапускаться снова и снова.

Кто-нибудь еще видел это сумасшедшее поведение. Я не могу загрузить свое приложение целиком. Я понятия не имею, что я сделал. Я не делал никаких изменений конфигурации или плагинов.

Я использую Grails 1.2.

- Когда я писал это письмо, я попробовал его снова, и у меня немного другое поведение.

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

Ответы [ 6 ]

12 голосов
/ 23 января 2010

Не уверен, что это ваша проблема, но я наблюдал что-то подобное, когда что-то не так с одним из имен ваших классов или пакетов, например, если у вас есть пакет org.grails.plugin в каталоге org.grails .foo. Это по какой-то причине вызывает перекомпиляцию.

Чтобы устранить некоторые из этих ошибок, я изменил свой GRAILS_HOME \ scripts_GrailsCompile.groovy, заставив его распечатывать файлы, которые он компилирует.

Для изменения:

поиск ant.groovyc и добавление списка параметров: «да» к параметрам.

Пример:

ant.groovyc(destdir:classesDirPath,
  classpathref:classpathId,
  listfiles:"yes",
  encoding:"UTF-8",
  compilerPaths.curry(classpathId, false)
) 

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

3 голосов
/ 08 апреля 2011

Я знаю, что это старый вопрос, но я столкнулся с той же проблемой. Запуск приложения grails заставил бы его перекомпилироваться снова и снова. Моя проблема была связана с именем файла класса Groovy, НЕ совпадающего с именем класса в файле. Код был в порядке, но имена были разные. Как только я изменил имена, чтобы они были синхронизированы, проблема была решена. Для построения принятого ответа вы можете использовать:

grails run-app -verboseCompile

, чтобы заставить grails распечатывать файл сценария / класса, который нарушает работу, когда он компилируется снова и снова. Это привело меня к оскорбительному модулю. Если вы посмотрите на скрипт 'GRAILS_HOME \ scripts_GrailsCompile.groovy`, вы увидите, что они установили эту опцию, чтобы вы могли переопределить значение при запуске. Вы, вероятно, не хотите изменять оригиналы, если можете помочь (например, оригинал, принятый ответ).

Это было сделано в Grails 1.3.7.

3 голосов
/ 09 ноября 2010

Большое спасибо kdj за указание на то, что будущие временные метки могут также вызвать ошибку непрерывного перезапуска.

Таким образом, существует как минимум два способа непрерывного перезапуска 1) имена пакетов не соответствуют структуре папок 2) Один или несколько файлов классов имеют будущие временные метки относительно даты сервера

В моем случае, что-то странное произошло с моим устройством dev во время перехода на летнее время, и временные метки для некоторых сгенерированных файлов классов были установлены через 2 дня.

1 голос
/ 16 июля 2010

Если Grails работает в режиме разработки, а исходный код находится в удаленной файловой системе, а время удаленного файлового сервера установлено в будущем, то это то, что вы получите.

0 голосов
/ 20 ноября 2013

Также убедитесь, что ваш fileName.groovy соответствует вашему className.

Однажды я скопировал код из другого проекта и столкнулся с этой ситуацией.

0 голосов
/ 22 августа 2012

Я столкнулся с той же проблемой, и две разные вещи решили ее для меня. Один просто перезагружал систему, а другой запускал Grails Run-App. Подробная компиляция не показала никаких проблем с моим проектом.

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