Qu'est-ce que la Projet → Nettoyer... fait réellement ?
Que sont les artefacts dans ce contexte ?
Sa fonction dépend des constructeurs que vous avez dans votre projet (ils peuvent choisir d'interpréter la commande clean comme ils le souhaitent) et de l'activation ou non de la construction automatique. Si la construction automatique est activée, l'invocation de clean est équivalente à une construction propre. Les artefacts sont d'abord supprimés, puis une compilation complète est invoquée. Si l'auto-build est désactivé, clean supprimera les artefacts et s'arrêtera. Vous pouvez alors invoquer la construction manuellement plus tard.
Un autre problème se pose ici. La fonctionnalité de nettoyage d'Eclipse est cassée. Si vous supprimez des fichiers en dehors d'Eclipse, il ne se rendra pas compte 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, surtout s'il y a beaucoup de fichiers manquants. Cela m'arrive assez souvent lorsque je vérifie une branche de code qui a subi de nombreuses modifications depuis la dernière fois que je l'ai compilée. 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.
Avez-vous essayé d'actualiser le projet ? Clean ne vérifie pas si les fichiers sources sont sortis, il supprime simplement les classes compilées. Dans la vue du navigateur, faites un clic droit sur votre projet (ou sur le dossier approprié) et sélectionnez Rafraîchir dans le menu contextuel. Cela supprimera tous les fichiers qui ont été supprimés et ajoutera tous les nouveaux fichiers qui ne sont pas encore répertoriés dans votre projet.
La touche F5 permet également de rafraîchir les ressources, mais vous devez vous assurer que vous avez sélectionné les fichiers que vous souhaitez recharger à partir du système de fichiers local. En d'autres termes, il ne suffit pas de cliquer dans l'Explorateur de paquets et d'appuyer sur la touche F5. Après avoir rafraîchi un grand nombre de fichiers, j'ai l'habitude de faire Projet > Nettoyer.
@SteveS mentionne que l'actualisation des fichiers dans Eclipse ajoutera de nouveaux fichiers et supprimera les anciens - elle 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 de son propre chef. 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 changements lors de l'exécution de votre application, si vous ne réalisez pas qu'un rafraîchissement est nécessaire.
J'ai également rencontré le même problème avec Eclipse lorsque j'ai exécuté la construction propre avec Maven, mais il existe une solution simple à ce problème. Il suffit d'exécuter la mise à jour de Maven, puis de construire ou d'exécuter directement l'application. J'espère que cela résoudra le problème.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.