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


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

3 85

3 ответа:

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

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

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

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

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

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

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

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

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

при необходимости программный из кода 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);
}