删除ant中的文件

时间:2010-02-05 09:48:24

标签: java ant

为了便于访问,我在一系列项目文件夹的父文件中有几个配置文件。在构建项目时,他们需要复制到其中一个项目源文件夹中,直到构建完成后,我希望它们被删除。目前,我有这个:

<target name="build-java">
  <copy file="config.properties" todir="project/src" />
  <!-- Build other projects -->
  <delete file="project/src/config.properties" />
</target>

如果项目构建,那将起作用。唉,我的骄傲,他们并不总是。理想情况下,我喜欢以下Java的等价物:

File src = new File("config.properties");
File dst = FileUtils.copyFile(src, "project/src");
dst.deleteOnExit();
// Carry on with the rest of the build, content in the knowledge that whatever happens, the file will die.

CopyDelete蚂蚁任务似乎都没有达到目标。这似乎不是一个特别模糊的需求?

2 个答案:

答案 0 :(得分:4)

如何定义删除剩余文件的“干净”任务,并且可以在每次构建后调用它(即使在构建失败后)?

我认为Ant对这些有条件的流量控制事物并不是很好。可能有办法使这项工作,但这可能会变得混乱,

答案 1 :(得分:2)

即使构建失败,您也可以尝试ant-contrib's trycatch来运行删除任务。

ant-contrib还有其他好处,比如foreach任务。如果你能够安装它。