Funkcja projektu> Wyczyść w Eclipse

121

Co właściwie robi narzędzie Eclipse Project → Clean ... ?

Eugene
źródło

Odpowiedzi:

75

Jego funkcja zależy od konstruktorów, których masz w projekcie (mogą oni interpretować czyste polecenie, jak im się podoba) i od tego, czy masz włączone automatyczne budowanie. Jeśli auto-kompilacja jest włączona, wywołanie clean jest odpowiednikiem czystej kompilacji. Najpierw usuwane są artefakty, a następnie wywoływana jest pełna kompilacja. Jeśli automatyczne budowanie jest wyłączone, czyszczenie usunie artefakty i zatrzyma się. Następnie możesz później ręcznie wywołać kompilację.

Konstantin Komissarchik
źródło
1
Czym są artefakty w tym kontekście?
Shn_Android_Dev
124

Usuwa wszystkie już skompilowane pliki w projekcie, dzięki czemu można wykonać całkowitą nową przebudowę.

BoltClock
źródło
11

W pracy jest inny problem. Funkcjonalność Clean Eclipse jest zepsuta. Jeśli usuniesz pliki poza Eclipse, nie zauważy to faktu, że teraz brakuje plików, i będziesz otrzymywać błędy kompilacji, dopóki nie usuniesz plików ręcznie. Nawet wtedy to też niekoniecznie zadziała, zwłaszcza jeśli brakuje wielu plików. Zdarza mi się to dość często, gdy sprawdzam gałąź kodu, w której zaszło wiele zmian od czasu, gdy ostatnio ją zbudowałem. W takim przypadku jedynym rozwiązaniem, jakie znalazłem, jest uruchomienie zupełnie nowego obszaru roboczego i ponowne załadowanie projektu od zera.

ChopperCharles
źródło
5
Czy próbowałeś odświeżyć projekt? Clean nie sprawdza, czy pliki źródłowe się zamykają, po prostu usuwa skompilowane klasy. W widoku nawigatora kliknij prawym przyciskiem myszy projekt (lub odpowiedni folder) i wybierz Odśwież z menu kontekstowego. Spowoduje to usunięcie wszystkich usuniętych plików i dodanie nowych, których nie ma jeszcze na liście w Twoim projekcie.
SteveS
Naciśnięcie klawisza F5 będzie również działać w celu odświeżenia zasobów, ale musisz być pewien, że faktycznie wybrałeś pliki, które chcesz przeładować z lokalnego systemu plików - innymi słowy, po prostu kliknięcie w Eksploratorze pakietów i naciśnięcie klawisza F5 nic nie da. Po odświeżeniu wielu plików zwykle wykonuję projekt> Wyczyść.
hotshot309
@SteveS wspomina, że ​​odświeżanie plików w Eclipse doda nowe pliki i usunie stare - zaktualizuje wszystkie zmienione (lub dodane lub usunięte) pliki w systemie plików. Jeśli pliki zostały zmienione poza Eclipse, gdy twój obszar roboczy był otwarty w Eclipse, Eclipse nie wykryje zmian i nie załaduje ponownie plików samodzielnie. Może to być irytujące, gdy kompilujesz z pamięci podręcznej, starszej kopii plików, które zmieniłeś poza Eclipse (np. Plików graficznych), ale nie widzisz zmian podczas uruchamiania aplikacji, jeśli nie zdajesz sobie sprawy, że odświeżanie jest konieczne.
hotshot309
-5

Napotkałem ten sam problem z Eclipse, gdy uruchomiłem czystą kompilację z Maven, ale istnieje proste rozwiązanie tego problemu. Wystarczy uruchomić aktualizację Mavena, a następnie skompilować lub bezpośrednio uruchomić aplikację. Mam nadzieję, że to rozwiąże problem.

Randhir
źródło