J'ai une construction ant qui crée des répertoires, appelle javac et tous les trucs habituels. Le problème que je rencontre est que lorsque j'essaie de faire un nettoyage (supprimer tous les éléments qui ont été générés), les rapports de tâches de suppression qui était incapable de supprimer certains fichiers. Lorsque j'essaie de les supprimer manuellement, cela fonctionne très bien. Les fichiers ne sont apparemment ouverts par aucun autre processus mais Ant ne parvient toujours pas à les supprimer. Que puis-je faire?Ant n'est pas en mesure de supprimer certains fichiers sur les fenêtres
Répondre
J'ai rencontré ce problème une fois. C'était parce que le fichier que j'ai essayé de supprimer faisait partie d'un classpath pour une autre tâche.
comment l'avez-vous résolu alors? –
@StefanSprenger vous devez exécuter vos tâches dans le bon ordre – CMS
Ce n'est pas toujours la raison de ce problème. Parfois, il suffit de redémarrer votre système et tout fonctionne bien. Dans ce cas, la raison en est probablement que Windows pense faussement qu'un processus utilise ces fichiers. – Arashsoft
Vous ne dites pas si votre build est exécuté en tant qu'utilisateur actuellement connecté. Si ce n'est pas le cas, le fait que explorer.exe ou un autre processus ait le répertoire affiché peut également le verrouiller. Mais la supprimer dans ce même processus explorer.exe réussirait. Essayez Unlocker de http://ccollomb.free.fr/unlocker/ pour voir quels processus ont les fichiers/répertoires verrouillés.
Y a-t-il quelque chose du processus Ant qui maintient les fichiers (ou le répertoire) ouverts? Cela entraînerait la situation où vous pourriez les supprimer après l'exécution de la fourmi, mais pas pendant.
Cela dépend ...
- Le processus Ant ne dispose pas de suffisamment d'autorisations pour supprimer les fichiers (généralement parce qu'ils ont été créés par un autre utilisateur, peut-être un utilisateur du système). Essayez d'exécuter votre script Ant en tant qu'utilisateur administratif, en utilisant Exécuter en tant que.
- Windows est vraiment mauvais pour nettoyer les verrous de fichiers lorsque les processus meurent ou sont tués; par conséquent, Windows pense que le fichier est verrouillé par un processus qui est mort (ou a été tué). Il n'y a rien que vous pouvez faire dans cette situation autre que le redémarrage.
- Obtenez de meilleurs outils pour inspecter l'état de votre système. Je vous recommande de télécharger les outils SysInternals et de les utiliser à la place des équivalents Windows par défaut.
Je suis d'accord avec le point 3. sysinternals handle.exe est un outil de ligne de commande inestimable pour analyser ce genre de problème. –
Ok, donc sysinternals me montre que javaw.exe a un handle sur un fichier ou un répertoire, maintenant quoi? – Snekse
Redémarrer le système a résolu mon problème – Arashsoft
Les versions antérieures à la version 1.8.0 ont un bogue qui entraîne des erreurs aléatoires lors de la suppression. Essayez d'utiliser Ant 1.8.0 ou plus récent.
Vous pouvez voir les détails de bugs ici https://issues.apache.org/bugzilla/show_bug.cgi?id=45960
Utiliser tâche Ant Retry m'a aidé. Je viens de l'enrouler autour de la tâche Supprimer.
J'ai souvent eu ce problème et c'est aléatoire. Une fois ça marche, la prochaine fois ça ne marche pas. J'utilise NetBeans (au cas où cela est important) et j'ai ajouté beaucoup de tâches supplémentaires à build.xml. J'avais ce problème dans la tâche post-pot. Cela arriverait quand j'appellerais unjar sur le fichier, puis supprimerais. Je soupçonne que NB essaye de balayer le pot et que cela cause le blocage.
Ce qui a fonctionné pour moi est de renommer immédiatement le pot au début de -post-jar et d'y ajouter une extension .tmp. Ensuite, j'appelle unjar sur le fichier temporaire. Quand j'ai fini, je renomme le nom du jar désiré.
J'ai aussi eu le même problème et j'ai essayé de supprimer manuellement les répertoires de construction. Finalement, je l'ai résolu en renommant l'artefact .jar de mon projet à un nom différent du nom du projet lui-même. Par exemple: mon projet était portal et mon script ant build a été utilisé pour générer portal.jar, où eclipse ant n'a pas pu supprimer ce portal.jar. Quand j'ai changé mon build.xml pour générer mon .jar sous portalnew.jar, eclipse a été capable de supprimer ce portalnew.jar la prochaine fois. J'espère que cela t'aides.
J'ai fait face au même problème.
Je n'avais pas défini de classpath ou d'antivirus sur ma machine.
Cependant, la version ANT que j'utilisais était de 32 bits et le JDK que j'avais installé était de 64 bits.
J'ai installé un JDK 32 bits et le problème a été résolu.
même problème pour moi ... travaillé après avoir changé en jdk 32 bits ... merci mon frère –
Dans mon cas, mon nettoyage a échoué à partir d'Eclipse, incapable de supprimer les fichiers de construction. Je le vois de temps en temps. Habituellement, il réussit une nouvelle tentative. Cette fois-ci non. Essayé en cours d'exécution Ant Clean à partir de la ligne de commande, échoué Impossible de supprimer "impossible à supprimer". Eclipse devait contenir le fichier de problème. Lorsque j'ai quitté Eclipse, la ligne cmd a pu supprimer OK.
Vous devez le supprimer manuellement dans Windows. Cela a fonctionné pour moi. (Habituellement, les fichiers à supprimer sont des versions plus anciennes de jar .. Par exemple: s'il existe httpcore.4.2.5.ja5r et httpcore.4.3.jar, il va essayer de supprimer 4.2.5.jar)
i fait face à ce problème car le fichier que la fourmi essayait de supprimer était utilisé par un autre service/processus. J'ai arrêté le service, puis le script de construction de fourmi s'est déroulé.
Dans mon cas, j'ai arrêté d'exécuter le processus Java à partir du Gestionnaire des tâches et de réexécuter le fichier de construction Ant. Le fichier a pu être supprimé et le build a réussi.
- 1. ant itérer sur les fichiers
- 2. Raisons d'utiliser les fichiers de propriétés Ant sur "Propriétés Tâches"
- 3. pas en mesure d'exécuter ... Erreurs
- 4. Je ne peux pas supprimer ce répertoire de travail svn local sur les fenêtres
- 5. iPhone - certains fichiers audio ne jouent pas
- 6. Java Stack/Nest Count
- 7. fichiers de verrouillage dans les fenêtres
- 8. PHP readdir ne lit pas certains fichiers
- 9. Comment "développer" un chemin ant (accédé avec refId = ..) à tous les fichiers du chemin sauf certains?
- 10. Autoriser l'ouverture de plusieurs fenêtres si les fenêtres n'existent pas
- 11. Obtenir fenêtres SHFileOperation 'API pour supprimer récursivement fichiers dans Delphi
- 12. Ignorer certains fichiers de la validation SVN
- 13. UserControls sur mesure en C++
- 14. Comment transformer les répertoires en fichiers .jar avec Ant
- 15. Erreur BlueCloth sur les fenêtres
- 16. Existe-t-il un moyen de dire à git d'inclure uniquement certains fichiers au lieu d'ignorer certains fichiers?
- 17. Environment.SpecialFolder sur les fenêtres étrangères
- 18. Fichiers de construction apache ant
- 19. Réglage CATALINA_OPTS pour tomcat6 sur les fenêtres ne fonctionnent pas
- 20. module de réécriture url dans les fenêtres ne redirige pas
- 21. Construire Elsa sur les fenêtres
- 22. Eclipse ne supprime pas les fichiers
- 23. Suggestions pour le portage de l'application Linux sur les fenêtres
- 24. sur les fenêtres de asp.net compte
- 25. Supprimer tous les fichiers de svn repository
- 26. sur mesure Validator
- 27. Supprimer des fichiers par type en Python sur Windows
- 28. Comment faire pour supprimer génériquement F # Unités de mesure
- 29. concaténer dynamiquement les fichiers xml avec ant et xslt
- 30. Manipulation exception FPU sur les fenêtres
Quelle version Ant utilisez-vous? – Sergey
Ils peuvent toujours être ouverts lorsque la fourmi tente de les retirer d'une tâche précédente –