Co robi Eclipse, gdy jest uruchomiony proces tworzenia obszaru roboczego? Czy mogę go wyłączyć, ponieważ jego wykonanie zajmuje dużo czasu i nie wiem, czy jest to konieczne. Dziękuję Ci
Co robi Eclipse, gdy jest uruchomiony proces tworzenia obszaru roboczego? Czy mogę go wyłączyć, ponieważ jego wykonanie zajmuje dużo czasu i nie wiem, czy jest to konieczne. Dziękuję Ci
Odpowiedzi:
Budowanie obszaru roboczego polega na przyrostowym budowaniu dowolnej ewolucji wykrytej w jednym z otwartych projektów w aktualnie używanym obszarze roboczym.
Możesz go również wyłączyć za pomocą menu „ Project / Build automatically
”.
Ale radziłbym najpierw sprawdzić:
Preferences / Validations
lub Preferences / XML / ...
jeśli masz zainstalowany WTP)Zwróć uwagę, że błąd 329657 (otwarty w 2011, trwający w 2014) polega na przerwaniu (zbyt długiej) kompilacji, zamiast jej anulowania :
Istnieje ważna różnica między przerwaniem kompilacji a anulowaniem.
Anulowanie kompilacji zwykle rozwiązuje ten problem, odrzucając stan kompilacji przyrostowej i pozwalając następnej kompilacji na pełną przebudowę. W niektórych projektach może to być dość kosztowne.
Jako użytkownik myślę, że wolałbym raczej poczekać na zakończenie 5-sekundowej kompilacji przyrostowej, niż anulować i spowodować późniejszą 30-sekundową odbudowę.Idea z przerwaniami polega na tym, że konstruktor może wydajniej obsługiwać przerwania, zapisując jego stan pośredni i wznawiając je przy następnym wywołaniu.
W praktyce jest to trudne do zaimplementowania, więc najczęstszą granicą jest sprawdzenie przerwania przed / po wywołaniu każdego buildera w łańcuchu.
Możesz przełączyć się na kompilację ręczną, aby kontrolować, kiedy to się stanie. Tylko upewnij się, że Project > Build Automatically
w menu głównym nie jest zaznaczone.
w razie potrzeby programowo z kodu PDE lub JDT:
public static void setWorkspaceAutoBuild(boolean flag) throws CoreException
{
IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IWorkspaceDescription description = workspace.getDescription();
description.setAutoBuilding(flag);
workspace.setDescription(description);
}
Dla każdego, kto napotka problem, w którym opcja kompilacji automatycznej nie jest zaznaczona, ale projekt nadal jest budowany. Upewnij się, że projekt nie jest wdrożony na serwerze na karcie serwera i ma pozostać synchroniczny.