2012-10-26 2 views
1

В настоящее время у меня есть одно рабочее пространство для нашего кода «Mainline» и 1 рабочая область для каждой ветви, которую мы создаем в конце каждой итерации. Я использую STS и grails 1.3.6, без добавленных плагинов и нескольких java-файлов jar. Кажется, что всякий раз, когда я создаю новое рабочее пространство для новой ветки, рабочее пространство ветки заканчивается тем, что оно повреждено. Я начинаю получать ошибки сборки, локально вращающиеся вокруг отсутствующих классов спящего режима, таких как AbstractEntityPersister. Я работаю в среде Windows 7.Проекты с несколькими Grails называются одинаковыми Проблемы с построением

Мой вопрос в два раза.

Одна из этих проблем, вероятно, связана с проблемой кеширования? Теоретически баки зависимости сборки грайля должны быть одинаковыми между рабочими пространствами, поэтому я не знаю, почему в одной рабочей области возникли проблемы, а один не будет

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

ответ

2

По умолчанию грайль использует «$ USER_HOME/.grails/grailsVersion/projectName» как рабочий каталог, поэтому наличие двух проектов с одинаковыми именами и одной версией Grails вызовет несколько головных болей.

Взгляните на приведенные ниже документы, вы хотите установить «projectWorkDir» в каждом проекте BuildConfig для предотвращения помех.

http://grails.org/doc/latest/guide/commandLine.html#buildCustomising

1

Do ваш проект рабочие каталоги имеют точно такое же имя?

Grails создает папку кэша проекта в $USER_HOME/.grails/<grailsVersion>/projects/<basedirname>, которая содержит скомпилированные плагины и скрипты. Даже запуск grails clean не уничтожает эти каталоги.

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

Я бы попытался установить рабочий каталог в BuildConfig.groovy или переопределить папку, используя grails -Dgrails.project.work.dir=workas documented.

В противном случае я предлагаю отключить любую автоматическую сборку в STS, поскольку сам Grails будет компилировать/перезагружать классы, когда запущен run-app. Кроме того, я бы попытался отредактировать ваше приложение, используя текстовый редактор (Sublime Text 2 - фантастический) вместо STS, чтобы увидеть, есть ли у вас одинаковые проблемы.

Смежные вопросы