ANT build.xml删除目录无效的任务

时间:2014-01-15 13:01:20

标签: java xml ant

我有一个xml脚本,用于构建这个结构的项目。

  • SRC
    • src文件和包子目录
  • RSRC
    • 的build.xml

在构建出src文件夹之后,在rsrc中创建了一个build和lib文件夹

  • SRC
    • src文件和包子目录
  • RSRC
    • 构建
      • package subdirs
    • LIB
    • 的build.xml

一切正常后,build文件夹中的.class文件填充在它们的包子目录中。在lib文件夹中,分发.jar有它的位置。现在我的问题是我写了这个名为=“clean”的目标:

  <target name="clean"
        description="clean up" >
        <!-- Delete the ${build} directory tree -->
        <delete dir="${build}"/>
  </target>

应删除构建文件夹,其子文件夹和内容。 $ Build定义为:

  <property name="build" location="build"/>

,基本目录为basedir =“。”

但是什么都没有删除,我做错了什么。

最好的问候Stefan (如果您需要其他信息,请询问)

编辑: 如果我用“ant -v clean”调用它,则构建文件将被删除..如果我使用“ant”或“ant -verbose”调用它不是。

5 个答案:

答案 0 :(得分:2)

尝试使用ant -v clean投放。这将向您显示Ant正在尝试删除的内容。 (并忽略建议使用$ {basedir} / build的答案 - 他们显然不知道Ant中的相对路径已经相对于basedir。)

答案 1 :(得分:1)

使用以下属性。

<property name="build" value="${basedir}/build"/>

答案 2 :(得分:1)

尝试使用$ {basedir}代替。这将指向构建文件的父目录。组织文件夹的常用方法是将build.xml放在build文件夹中,将输出放在build / output中。

答案 3 :(得分:1)

也许你忘了打电话给目标&#34;清理&#34;?

尝试使用-v标志执行ant,这样我们就可以看到输出ant生成,以查看目标是否已执行。

要查看目录是否正确,您可以在目标中添加<echo message="${build}"/>http://ant.apache.org/manual/Tasks/echo.html)以验证目录的绝对路径。

希望它有所帮助!

答案 4 :(得分:0)

make <target name="clean">取决于 init

<target name="init" depends="clean">
        code
    </target>