Fonction du projet> Nettoyer dans Eclipse

121

Que fait réellement l'outil Projet → Nettoyer ... d' Eclipse ?

Eugène
la source

Réponses:

75

Sa fonction dépend des générateurs que vous avez dans votre projet (ils peuvent choisir d'interpréter la commande clean comme ils le souhaitent) et si vous avez activé la construction automatique. Si l'auto-build est activé, l'appel de clean équivaut à un clean build. Les premiers artefacts sont supprimés, puis une compilation complète est appelée. Si la construction automatique est désactivée, le nettoyage supprimera les artefacts et s'arrêtera. Vous pouvez ensuite appeler la compilation manuellement plus tard.

Konstantin Komissarchik
la source
1
Quels sont les artefacts dans ce contexte?
Shn_Android_Dev
124

Il supprime tous les fichiers déjà compilés de votre projet afin que vous puissiez effectuer une nouvelle reconstruction complète.

BoltClock
la source
11

Il y a un autre problème au travail ici. La fonctionnalité Clean d'Eclipse est interrompue. Si vous supprimez des fichiers en dehors d'Eclipse, il ne détectera pas le fait que les fichiers sont maintenant manquants et vous obtiendrez des erreurs de construction jusqu'à ce que vous supprimiez les fichiers manuellement. Même dans ce cas, cela ne fonctionnera pas nécessairement non plus, surtout s'il manque beaucoup de fichiers. Cela m'arrive assez souvent lorsque je vérifie une branche de code qui a subi de nombreux changements depuis la dernière fois que je l'ai construite. Dans ce cas, le seul recours que j'ai trouvé est de démarrer un tout nouvel espace de travail et de recharger le projet à partir de zéro.

ChopperCharles
la source
5
Avez-vous essayé de rafraîchir le projet? Clean ne vérifie pas si les fichiers sources se terminent, il supprime simplement les classes compilées. Dans la vue du navigateur, cliquez avec le bouton droit sur votre projet (ou le dossier approprié) et sélectionnez Actualiser dans le menu contextuel. Cela supprimera tous les fichiers qui ont été supprimés et en ajoutera de nouveaux qui ne sont pas encore répertoriés dans votre projet.
SteveS
Appuyer sur F5 fonctionnera également pour rafraîchir les ressources, mais vous devez être sûr que vous avez effectivement sélectionné les fichiers que vous souhaitez recharger à partir du système de fichiers local - en d'autres termes, cliquer simplement dans l'Explorateur de packages et appuyer sur F5 ne fera rien. Après avoir actualisé de nombreux fichiers, je fais généralement un projet> Nettoyer.
hotshot309
@SteveS mentionne que l'actualisation des fichiers dans Eclipse ajoutera de nouveaux fichiers et supprimera les anciens - il mettra à jour tous les fichiers modifiés (ou ajoutés ou supprimés) avec le système de fichiers. Si des fichiers ont été modifiés en dehors d'Eclipse alors que votre espace de travail était ouvert dans Eclipse, Eclipse ne détectera pas les modifications et ne rechargera pas les fichiers par lui-même. Cela peut être exaspérant lorsque vous compilez à partir d'une ancienne copie en cache de fichiers que vous avez modifiés en dehors d'Eclipse (comme des fichiers image) mais que vous ne voyez pas les modifications lors de l'exécution de votre application, si vous ne réalisez pas qu'une actualisation est nécessaire.
hotshot309
-5

J'ai également rencontré le même problème avec Eclipse lorsque j'ai exécuté la version propre avec Maven, mais il existe une solution simple à ce problème. Nous avons juste besoin d'exécuter la mise à jour Maven, puis de créer ou d'exécuter directement l'application. J'espère que cela résoudra le problème.

Randhir
la source