Отключить процесс рабочей области здания в Eclipse

Что делает Eclipse при создании рабочего пространства? Могу ли я отключить его, потому что он занимает много времени, и я не знаю, если это необходимо. Спасибо вам

Ответ 1

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

Вы также можете отключить его через меню "Project / Build automatically".

Но я бы порекомендовал сначала проверить:

  • если проект "Очистить все/построить" приведет к тому же долгому ожиданию (после отключения этой опции)
  • если у вас есть (на этот раз с автоматическим активированием здания) некоторые параметры проверки, которые вы могли бы отключить, чтобы увидеть, оказывают ли они влияние на глобальное время компиляции (Preferences / Validations или Preferences / XML / ..., если у вас установлен WTP)
  • если новая установка затмения, ссылающаяся на одно и то же рабочее пространство (см. this eclipse.ini для получения дополнительной информации) приводит к той же проблеме (со зданием автоматически активируется)

Обратите внимание, что ошибка 329657 (открыта в 2011 году, в процессе в 2014 году) - это прерывание (слишком длинная) сборка, вместо отмены это:

Существует важная разница между прерыванием сборки и отменой.

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

  • Идея с прерыванием заключается в том, что строитель может более эффективно обрабатывать прерывание, сохраняя свое промежуточное состояние и возобновляя при следующем вызове.
    На практике это трудно реализовать, поэтому наиболее распространенной границей является проверка прерывания до/после вызова каждого строителя в цепочке.

 

Ответ 2

Вы можете переключиться на ручную сборку, чтобы можно было управлять, когда это будет сделано. Просто убедитесь, что Project > Build Automatically из главного меню не отмечено.

Ответ 3

при необходимости программный код из PDE или JDT-кода:

public static void setWorkspaceAutoBuild(boolean flag) throws CoreException 
{
IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IWorkspaceDescription description = workspace.getDescription();
description.setAutoBuilding(flag);
workspace.setDescription(description);
}