与ANT合作并面临一个问题

时间:2012-02-14 04:41:35

标签: java xml ant

<target name="init">
    <mkdir dir="${build.dir}" />
    <if>
        <available file="../war" type="dir"/>
            <then></then>
        <else> 
            <mkdir dir="../war" />
        </else> 
    </if>
</target>

这是我用来检查文件夹是否存在的代码,但收到以下错误:

原因:名称未定义。

动作:检查拼写。

操作:检查是否已声明任何自定义任务/类型。

行动:检查是否发生了任何/声明。

我在ANT_HOME / lib中复制了ant-contrib.jar。我哪里错了?

1 个答案:

答案 0 :(得分:4)

鉴于上面的例子,你可以大大简化它:

<target name="init">
    <mkdir dir="${build.dir}" />
    <mkdir dir="../war" />
</target>

...因为如果文件夹存在,mkdir任务不执行任何操作(请参阅documentation)。

如果您在蚂蚁中询问如何使用ifthen,我建议您选择另一个示例,因为Ant中的每个操作都会内置自己的条件。