Windows ApacheAnt不管发生什么都会删除目录
如何让ApacheAnt在任何情况下都删除目录。我希望它被删除,即使有锁或windows上的目录使用 我正在Windows机箱上使用持续集成远程代理,该代理无法删除生成目录,因此导致生成失败。这非常烦人,而且会破坏统计数据 没有任何内容正在使用该目录,并且已禁用防病毒Windows ApacheAnt不管发生什么都会删除目录,windows,ant,continuous-integration,Windows,Ant,Continuous Integration,如何让ApacheAnt在任何情况下都删除目录。我希望它被删除,即使有锁或windows上的目录使用 我正在Windows机箱上使用持续集成远程代理,该代理无法删除生成目录,因此导致生成失败。这非常烦人,而且会破坏统计数据 没有任何内容正在使用该目录,并且已禁用防病毒 不管发生什么,我只想删除目录。如何在Windows上使用ApacheAnt实现这一点?我认为您需要外部程序来实现这一点。 勾选这个: _http://www.codeguru.com/cpp/w-p/files/fileio/ar
不管发生什么,我只想删除目录。如何在Windows上使用ApacheAnt实现这一点?我认为您需要外部程序来实现这一点。 勾选这个: _http://www.codeguru.com/cpp/w-p/files/fileio/article.php/c1287 这里有解锁工具的比较。请使用命令行界面检查: _http://ccollomb.free.fr/unlocker/ 如果你知道哪个进程保存着你的文件夹,你可以调用taskkill…(你甚至可以杀死explorer.exe,但是你可以重新启动它)
如果你的文件夹是共享的,你可以使用net delete命令在Ant中你能做的最好的事情就是设置参数:
quiet=“true”
和includeemptydirs=“true”
以防止目录丢失或存在锁时生成停止,并删除顶层目录(即使它是空的)。例如:
<delete quiet="true" includeEmptyDirs="true">
<fileset dir="stubbornDir"/>
</delete>
您还可以确保尝试删除的资源不是只读的,因此在执行
任务之前,请在脚本中包含以下内容:
<!-- The following only works on UNIX -->
<chmod perm="a+w">
<fileset dir="${dist.dir}">
<include name="**/*.jar"/>
<exclude name="${app.context.path}"/>
</fileset>
</chmod>
<!-- Win NT alternative -->
<echo message=" To permit file deletion, execute attrib.exe to change read permissions on: ${dist.dir}"/>
<exec dir="${dist.dir}" executable="attrib.exe" os="Windows NT,Windows 2000,Windows XP">
<arg line="-R **/*.jar"/>
</exec>
但是,为了回答您的问题,恐怕使用Ant无法在存在锁的情况下删除文件或目录
但是,也要注意,如果您在脚本前面使用了
任务,那么除非您设置了fork=“true”
,否则该任务将锁定类路径中的所有文件,并在整个生成过程中保持锁定
希望这有帮助 我认为java进程没有办法释放其他进程打开的文件句柄。