如何在Apache Ant构建脚本中为dirset目录使用属性?

时间:2012-06-08 16:30:10

标签: ant

我的脚本在使用属性值时失败,但在使用文字字符串指定目录路径时却没有。

这失败了:

    <target name="build">
            <echo>${dir.intermediate}</echo>
            <echo>${dir.source}</echo>
        <copy todir="${dir.intermediate}" includeEmptyDirs="true">
            <dirset dir="${dir.source}" excludes="${file.default.exclude}, ${file.exclude}"/>
        </copy>
    </target>

这有效:

<target name="build">
        <echo>${dir.intermediate}</echo>
        <echo>${dir.source}</echo>
    <copy todir="${dir.intermediate}" includeEmptyDirs="true">
        <dirset dir="/Users/michaelprescott/path" excludes="${file.default.exclude}, ${file.exclude}"/>
    </copy>

如果我在属性或文字中指定dir中的绝对路径或相对路径似乎并不重要。     

1 个答案:

答案 0 :(得分:1)

哇。这是一个非常难以识别的问题。查看属性文件时,路径显示正确。它在echo语句中显得正确。从ant失败消息复制并将其粘贴到'ls'时,它甚至看起来是正确的。最后,我注意到目录字符串后面有一个空格。

在属性文件中,它是:

"./path "

将其更改为以下修正:

"./path"