Затмение "Автоматически строить" не каскадное - PullRequest
5 голосов
/ 01 июля 2011

У меня есть проект в Eclipse (Indigo, но похожий в Helios), в котором есть файлы в src/main/resources, которые обрабатываются для генерации исходных файлов * .java в target/generated-sources/xyz.В настройках проекта включена функция «Автоматически создавать», поэтому каждый раз, когда эти файлы ресурсов редактируются и сохраняются, генерируются соответствующие файлы *.java.Я добавил target/generated-sources/xyz в проекты Build Paths.Все это прекрасно работает.

Проблема в том, что изменения в сгенерированных файлах *.java непоследовательно перестраиваются.Если у меня один из этих файлов открыт в редакторе, он замечает, что он изменился, и спрашивает, хочу ли я его перезагрузить.Перезагрузка *.java файлов достаточна для того, чтобы он мог распознать, что он изменился, и вызвать перестроение.Если я не открываю его, он не принимает автоматически изменения.

Есть какие-либо идеи о том, что я могу сделать, чтобы Eclipse (желательно Indigo) знал, что эти сгенерированные файлы обновляются?Или еще лучше скажите, чтобы он отслеживал эти папки напрямую?

Спасибо.

Ответы [ 2 ]

13 голосов
/ 01 июля 2011

Попробуйте настроить Eclipse для автоматического обновления. Я не уверен насчет Индиго, но в Гелиосе это в Настройки & rarr; Генеральный & rarr; Рабочая область & rarr; Обновить автоматически.


Вот оно, в Индиго:

screenshot

2 голосов
/ 01 июля 2011

Полагаю, вы добавили в проект компоновщик на основе программы, который компилирует / переводит файлы в .java.

Если вы открываете компоновщик - через свойства проекта -> Builders -> Edit... строитель - тогда вы можете открыть вкладку Refresh - см. Ниже.

Refresh tab of the Builder Dialog

Здесь вы можете выбрать, какие ресурсы обновлять при запуске данной конкретной сборки... Например, все ресурсы в target/generated-sources/xyz ...

...