Функция проекта> Очистить в Eclipse

121

Что на самом деле делает инструмент Eclipse Project → Clean ... ?

Евгений
источник

Ответы:

75

Его функция зависит от построителей, которые у вас есть в вашем проекте (они могут интерпретировать команду очистки, как им нравится) и от того, включена ли у вас автоматическая сборка. Если автоматическая сборка включена, вызов clean эквивалентен чистой сборке. Сначала удаляются артефакты, затем запускается полная сборка. Если автоматическое построение отключено, очистка удалит артефакты и остановится. Позже вы можете вызвать сборку вручную.

Константин Комиссарчик
источник
1
Что такое артефакты в этом контексте?
Shn_Android_Dev
124

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

BoltClock
источник
11

Здесь есть еще одна проблема. Функциональность Clean Eclipse нарушена. Если вы удалите файлы вне Eclipse, он не заметит тот факт, что файлы теперь отсутствуют, и вы получите ошибки сборки, пока не удалите файлы вручную. Даже в этом случае это не обязательно сработает, особенно если отсутствует много файлов. Это случается со мной довольно часто, когда я проверяю ветку кода, в которой было много изменений с момента последней сборки. В этом случае я нашел единственный выход - запустить новое рабочее пространство и перезагрузить проект с нуля.

ChopperCharles
источник
5
Вы пробовали обновить проект? Clean не проверяет, завершились ли исходные файлы, а просто удаляет скомпилированные классы. В навигаторе щелкните правой кнопкой мыши свой проект (или соответствующую папку) и выберите «Обновить» в контекстном меню. Это приведет к удалению всех файлов, которые были удалены, и добавлению любых новых, которые еще не указаны в вашем проекте.
SteveS
Нажатие F5 также будет работать для обновления ресурсов, но вы должны быть уверены, что действительно выбрали файлы, которые хотите перезагрузить, из локальной файловой системы - другими словами, просто щелкнув внутри Package Explorer и нажав F5, ничего не сделаете. После обновления большого количества файлов я обычно выполняю Project> Clean.
hotshot309
@SteveS упоминает, что обновление файлов в Eclipse добавит новые файлы и удалит старые - оно обновит любые измененные (или добавленные или удаленные) файлы с файловой системой. Если файлы были изменены вне Eclipse, когда ваше рабочее пространство было открыто в Eclipse, Eclipse не обнаружит изменения и не перезагрузит файлы самостоятельно. Это может раздражать, когда вы компилируете из кэшированной, более старой копии файлов, которые вы изменили вне Eclipse (например, файлов изображений), но не видите изменений при запуске приложения, если вы не понимаете, что обновление это необходимо.
hotshot309
-5

Я также столкнулся с той же проблемой с Eclipse, когда запускал чистую сборку с Maven, но для этой проблемы есть простое решение. Нам просто нужно запустить обновление Maven, а затем собрать или запустить приложение напрямую. Надеюсь, это решит проблему.

Рандхир
источник