vez varios renombrar parte nombre masivamente lote elimina directorio diferente delete contenido con como cambiar borrar archivos archivo ala java windows ant build-automation

java - varios - renombrar archivos masivamente cmd



Ant no puede eliminar algunos archivos en Windows (12)

¿Hay algo del proceso Ant que mantiene abiertos los archivos (o el directorio)? Esto provocaría la situación en la que podría eliminarlos después de ejecutar hormiga, pero no durante.

Tengo una compilación de hormigas que hace directorios, llamadas javac y todas las cosas regulares. El problema que estoy teniendo es que cuando trato de hacer un borrado (borrar todo lo que se generó) los informes de tarea eliminados que no pudieron eliminar algunos archivos. Cuando intento eliminarlos manualmente, funciona bien. Aparentemente, los archivos no están abiertos por ningún otro proceso, pero todavía no logra eliminarlos. ¿Que puedo hacer?


Depende ...

  • El proceso Ant no tiene suficientes permisos para eliminar los archivos (normalmente porque fueron creados por un usuario diferente, tal vez un usuario del sistema). Intente ejecutar su script Ant como usuario administrativo, usando Ejecutar como.
  • Windows es realmente malo para limpiar bloqueos de archivos cuando los procesos mueren o son eliminados; en consecuencia, Windows piensa que el archivo está bloqueado por un proceso que murió (o fue asesinado). No hay nada que puedas hacer en esta situación aparte de reiniciar.
  • Obtenga mejores herramientas para inspeccionar el estado de su sistema. Recomiendo descargar las herramientas de SysInternals y usarlas en lugar de los equivalentes predeterminados de Windows.

No dice si su compilación se ejecuta como el usuario actualmente conectado. De lo contrario, el hecho de que explorer.exe u otro proceso tenga el directorio mostrado puede causar que también se bloquee. Pero eliminarlo en ese mismo proceso explorer.exe tendría éxito. Pruebe Unlocker desde http://ccollomb.free.fr/unlocker/ para ver qué procesos tienen los archivos / directorios bloqueados.


Me encontré con este problema una vez. Fue porque el archivo que traté de eliminar era parte de un classpath para otra tarea.



Usar la tarea Ant Retry me ha ayudado. Acabo de envolverlo en Eliminar Tarea.


He estado teniendo este problema mucho últimamente y es aleatorio. Una vez que funciona, la próxima vez no funciona. Estoy usando NetBeans (en caso de que eso importe) y he agregado muchas tareas adicionales para build.xml. Estaba teniendo este problema en la tarea -post-jar. Sucedería cuando llame unjar en el archivo, luego elimine. Sospecho que NB está intentando escanear el contenedor y esto causa el bloqueo.

Lo que funcionó para mí es cambiar inmediatamente el nombre del contenedor al inicio de -post-jar y agregarle una extensión .tmp. Entonces llamo unjar en el archivo temporal. Cuando termine cambio de nombre al nombre del jar deseado.


Yo también tuve el mismo problema y se intentó eliminar manualmente los directorios de compilación. Finalmente lo resolví cambiando el nombre del artefacto .jar de mi proyecto a un nombre diferente del nombre del proyecto en sí. Por ejemplo: mi proyecto era portal y mi script ant build se usó para generar portal.jar, donde eclipse ant no pudo eliminar este portal.jar. Cuando cambié mi build.xml para generar mi .jar como portalnew.jar, eclipse pudo eliminar este portalnew.jar la próxima vez. Espero que esto ayude.


Me enfrenté al mismo problema.
No tenía configurado ningún classpath o antivirus en mi máquina.
Sin embargo, la versión de ANT que estaba usando era de 32 bits y el JDK que instalé tenía 64 bits.
Instalé un JDK de 32 bits y el problema se resolvió.


En mi caso, my ant clean falló en Eclipse, no se pudieron eliminar los archivos de compilación. Veo esto de vez en cuando. Por lo general, tiene éxito en un intento de repetición. Esta vez no. Intentó ejecutar la limpieza de hormigas desde la línea de comandos, falló. No se pudo eliminar "no se puede eliminar". Debe haber sido Eclipse aferrándose al archivo del problema, cuando salí de Eclipse, la línea de cmd pudo borrar OK.


Debe eliminarlo manualmente en Windows. Funcionó para mí (Por lo general, los archivos que se eliminarán son versiones anteriores de jar ... Por ejemplo: si existe httpcore.4.2.5.ja5r y httpcore.4.3.jar, intentará eliminar 4.2.5.jar)


Me enfrenté a este problema ya que el archivo que la hormiga intentaba eliminar estaba siendo utilizado por algún otro servicio / proceso. Paré el servicio, y luego se ejecutó el script de construcción de ant.