Почему изменение файла xml в проекте Eclipse вызовет автоматическую сборку проекта

Если в java-проекте Eclipse есть xml-файл и с включенной функцией «Автоматическая сборка», каждый раз, когда я изменяю xml-файл и сохраняю его, Eclipse запускает сборку проекта, а иногда это требует много времени для завершения.

Я просто подумал, что файлы xml - это просто файлы ресурсов, или, по крайней мере, это не изменение кода и не должно запускать сборку проекта. С чем это связано и можно ли это как-то отключить?


person moonese    schedule 19.01.2011    source источник


Ответы (3)


Вы правы, файлы xml - это файлы ресурсов. Если код проекта зависит от перечисленного ресурса xml и в файле xml есть некоторые изменения, запускается автоматическая сборка, чтобы проверить, доступен ли допустимый ресурс для проекта, если нет, отображаются предупреждения или ошибки, в зависимости от случая.

Чтобы остановить автоматическую сборку в Eclipse: «Окно»> «Настройки»> «Основные»> «Рабочее пространство»> снимите флажок «Сборка автоматически».

person TheCottonSilk    schedule 19.01.2011
comment
Да, это правильный способ, которым я сейчас пользуюсь для решения этой проблемы. так как иногда сборка занимает довольно много времени и блокирует мою работу. - person moonese; 19.01.2011
comment
Отлично. Да, если это большой проект, автоматическая сборка может замедлить разработку/отладку. Теперь какой вопрос у вас есть? - person TheCottonSilk; 19.01.2011
comment
Я просто хочу знать, есть ли возможность избежать сохранения сборки xml, оставляя сборку автоматически выбранной, или сказать, что я просто хочу знать, есть ли опция в конфигурации Eclipse где-нибудь, которая может выполнить эту работу. Может быть, есть только то, как работает Eclipse Builder, и его нельзя изменить. - person moonese; 19.01.2011
comment
Вы можете попробовать 1) Проект › снимите флажок «Создать автоматически». Посмотрите, останавливает ли он все действия по автоматической сборке. 2) Окно › Настройки › Проверка › выбираем XML Validator. Затем нажмите кнопку «Настройка [..]» и удалите «Расширение файла: xml» из «Включить группу» и добавьте его в «Исключить группу». Запомните это изменение, чтобы вы могли вернуться назад, когда действительно захотите его вернуть. :) - person TheCottonSilk; 20.01.2011

Наконец-то я нашел обходной путь к этой проблеме:

перейдите в свойства проекта > Путь сборки Java > Источник > добавьте правило исключения: **/*.xml

путем исключения всех файлов xml из пути сборки Java, теперь редактирование файлов xml не будет запускать сборку с включенной «автоматической сборкой».

person moonese    schedule 24.01.2011
comment
но если xml присутствует вне исходной папки и даже тогда, если он создается автоматически?? - person arvindwill; 25.10.2012

Из документации Eclipse,

A build is a process that derives new resources from existing ones, updates existing 
resources, or both

Это не просто компиляция исходного кода

person Raghuram    schedule 19.01.2011
comment
хорошо, так что это не проблема. Может быть, мне нужно проверить, почему для завершения сборки, вызванной изменением xml, требуется довольно много времени. - person moonese; 19.01.2011
comment
@лунный. Я думаю, что валидатор xml включен - это может вызвать задержку. - person Raghuram; 19.01.2011
comment
Если я ничего не изменю, проект будет построен успешно, а затем я внесу некоторые изменения в файл xml и сохраню, то когда-нибудь я увижу, что какой-то исходный файл java снова создается на панели прогресса. Поскольку это происходит не каждый раз, мне лучше следить за этим и посмотреть, смогу ли я найти больше информации. - person moonese; 19.01.2011