1

我在 build.gradle 文件中添加了以下删除任务:

task cleanExtra(type: Delete) {
    delete '../version.properties'
}

clean.dependsOn(cleanExtra)

有时,当我调用时gradle clean,它会失败并显示“无法删除文件:(...)/version.properties”。但是如果我再次调用相同的清理任务,它将成功删除该任务。

为什么会这样?无论如何要避免它?

4

1 回答 1

2

听起来像是 JIRA 问题Gradle-2244

无法删除文件/目录,随后的清理将成功。

从最后一条评论:

经过一些研究,这似乎是由于 Windows JDK(包括 IBM)中的一个错误。Ant 使用的策略是在删除失败后强制 GC,然后等待一小段时间。鉴于这对 Ant 来说似乎是一个成功的策略,我们采用了它。

此问题在版本 1.1-rc-1 中标记为已修复。大概您观察到的行为是“修复”,这是 JDK 错误的解决方法。所以我猜想这种行为可能会出现在 Gradle 的更高版本中。

于 2013-07-04T02:20:37.613 回答