我有一个ant build构建目录,调用javac和所有常规的东西。 我遇到的问题是,当我尝试清理(删除所有生成的东西)时,删除任务报告无法删除某些文件。 当我尝试手动删除它时它工作得很好。 这些文件显然没有被任何其他进程打开,但是ant仍然无法删除它们。 我能做什么?

===============>>#1 票数:13 已采纳

我曾经遇到过这个问题。 这是因为我试图删除的文件是另一个任务的类路径的一部分。

===============>>#2 票数:9

这取决于 ...

  • Ant进程没有足够的权限来删除文件(通常是因为它们是由不同的用户创建的,可能是系统用户)。 尝试使用“运行方式”以管理用户身份运行Ant脚本。
  • 当进程死亡或被杀死时,Windows在清理文件锁时非常糟糕; 因此,Windows认为该文件被死亡(或被杀死)的进程锁定。 除了重启之外,在这种情况下你无能为力。
  • 获得更好的工具来检查您的系统状态。 我建议下载SysInternals工具并使用它们而不是默认的Windows等效工具。

===============>>#3 票数:5

使用Ant Retry任务帮助了我。 我刚把它包裹在删除任务中。

===============>>#4 票数:3

我遇到了同样的问题。
我没有在我的机器上运行任何类路径或防病毒。
但是,我使用的ANT版本是32位,我安装的JDK是64位。
我安装了32位JDK,问题解决了。

===============>>#5 票数:3

您没有说您的构建是否以当前登录用户身份运行。 如果没有,explorer.exe或其他进程具有显示的目录的事实也可能导致它被锁定。 但是在同一个explorer.exe进程中删除它会成功。 http://ccollomb.free.fr/unlocker/尝试Unlocker,查看锁定文件/目录的进程。

===============>>#6 票数:2

Ant进程是否存在打开文件(或目录)的内容? 这会导致您在运行ant后删除它们的情况,但不会在运行期间删除它们。

===============>>#7 票数:2

1.8.0之前的Ant版本有一个错误,导致删除操作期间的随机错误。 尝试使用Ant 1.8.0或更高版本。

你可以在这里看到bug的详细信息https://issues.apache.org/bugzilla/show_bug.cgi?id=45960

===============>>#8 票数:1

在我的情况下,我的ant clean从Eclipse失败,无法删除构建文件。 我不时看到这个。 通常会重复尝试。 这次没有。 尝试从命令行运行ant clean,失败无法删除“无法删除”。 它必须是Eclipse持有问题文件,当我退出Eclipse时,cmd行能够删除OK。

===============>>#9 票数:0

我最近经常遇到这个问题而且是随机的。 有一次它工作,下次它不起作用。 我正在使用NetBeans(如果重要的话),我已经为build.xml添加了许多额外的任务。 我在-post-jar任务中遇到了这个问题。 当我在文件上调用unjar然后删除时会发生这种情况。 我怀疑NB正试图扫描罐子,这会导致锁定。

对我有用的是立即在-post-jar的开头重命名jar并为其添加.tmp扩展名。 然后我在临时文件上调用unjar。 当我完成后,我重新命名为所需的jar名称。

===============>>#10 票数:0

我也有同样的问题,并尝试手动删除构建目录。 最后,我通过将项目的.jar工件重命名为与项目名称本身不同的名称来解决它。 例如:我的项目是门户网站,我的ant构建脚本用于生成portal.jar,其中eclipse ant无法删除此portal.jar。 当我更改build.xml以生成我的.jar作为portalnew.jar时,eclipse下次可以删除此portalnew.jar。 希望这可以帮助。

===============>>#11 票数:0

您需要在Windows中手动删除它。 它对我有用。 (通常要删除的文件是jar的旧版本。例如:如果存在httpcore.4.2.5.ja5r和httpcore.4.3.jar,它将尝试删除4.2.5.jar)

===============>>#12 票数:0

我遇到了这个问题,因为蚂蚁试图删除的文件被其他一些服务/进程使用。 我停止了服务,然后ant构建脚本确实运行了。

===============>>#13 票数:0

在我的例子中,我停止从任务管理器运行Java进程并重新运行Ant构建文件。 该文件能够删除和构建成功。

===============>>#14 票数:0

自从我切换到Microsoft Windows 10后,我经常看到这种方式的问题。在删除文件之前立即重命名文件为我解决了这个问题:

<rename src="file.name" dest="file.name.old"/>
<delete file="file.name.old" />

===============>>#15 票数:-1

如果你安装了git
在git bash shell中打开目录(在开始时搜索git bash)。
然后键入bash命令以删除文件

rm -r filename.xyz

  ask by Honza translate from so

未解决问题?本站智能推荐:

3回复

无法使用Ant创建Javadoc

我正在尝试使用Ant构建我的项目。 创建javadocs时,出现如下错误: 如果在下图中看不到错误,请参考以下内容: 我在build.xml中用于创建javadocs的脚本如下:
3回复

Ant在其创建的.jar文件中找不到类

从jenkins运行构建时,出现以下错误:我将其范围缩小到了ant或环境无法找到我的BrowserLaunch.class文件,“该文件无日志”,因此它说没有这种方法。 但是,我不知道为什么! 我使用Eclipse在不同的环境下进行了这些测试,但没有使用Ant + Jenkins + Tes
1回复

在远程系统上运行ant构建文件

我有一个位于远程系统上的构建文件。 我想自己运行它。如果我只能从本地系统使用Java程序调用它,那将是很好的。我尝试使用Google,但没有成功。有可能吗?
4回复

如何使用Ant?

我一直试图了解Ant的用途,但我仍然没有得到它。 有人可以给我一个用于Ant的用例,我可以尝试看看为什么Ant有用以及我可以用它做什么样的事情? 我在Eclipse中进行Java开发,我刚刚开始使用servlet和Google Web Toolkit。
3回复

在Java程序中使用Apache Ant API以编程方式构建源文件

我正在寻找可以帮助我有效使用Ant API的优秀实用资源。 项目网站只提供了API的文档,它根本没用。 很少有网站似乎提供有关该主题的非常简短的教程。 我错过了一些资源吗? 如何将Ant API用于简单的任务,而无需花费数小时浏览它们并查看源代码? 谢谢。 (对以前提出的
1回复

在Ant构建中使用linecontainsregexp的正确方法是什么?

我加上了 在<replaceregexp>任务中,我收到错误replaceregexp doesn't support the nested "linecontainsregexp" element.
2回复

如何使用ANT创建SVN统计信息?

我确定我已经在Maven中看到了这一点,但不确定如何在ant中做到这一点: 如何获得提交者及其(最好是相对)提交量的列表 即 山姆80% 乔10% 迈克5% 菲尔5% 提前致谢
1回复

IntelliJ Idea中的Maven和Ant,下载依赖项

我对Ant或Maven的经验很少,但是我正在尝试简化我正在从事的项目的构建过程。 我使用IntelliJ Idea进行Java开发,并且希望将Ant用于自动化构建,因为IntelliJ可以自动生成构建脚本(然后可以对其进行调整以满足我的需求)。 与其将我所有的依赖项jar保留在Git中(我将
5回复

蚂蚁取决于antcall

在定义顺序构建步骤时,我使用target元素的depends属性。 我最近看到了一个ant文件,其中构建序列由目标内的antcall元素定义。 为了显示 : VS 这两种方法之间是否存在真正的差异? 其中一个更受欢迎吗?
3回复

Ant可以基于继承层次结构对JUnit测试进行分类吗?

我正在处理一个具有以下内容的旧项目: 纯单元测试 集成测试(运行缓慢;具有各种令人讨厌的依赖项) 我正在寻找最简单的方法来用Ant 单独运行两种类型的测试 。 我想知道是否有一种方法可以让Ant根据继承层次结构自动识别这两个类别: 与 集成测试基于