替换任务不支持嵌套文件集

时间:2014-12-07 14:03:11

标签: java ant

我正在使用Ant版本1.7.1运行此内容:

<fixcrlf srcdir="@{buildDir}"   excludes="**/*.exe" eol="lf">
</fixcrlf>
<replace>
    <fileset dir="@{buildDir}" includes="**/*install.ksh" />
    <replacefilter token="#packageName#" value="@{packageName}"/>
</replace>

抛出异常,消息“replace不支持嵌套的”fileset“element”

这种例外的原因是什么?

1 个答案:

答案 0 :(得分:1)

<replace> task形成一个隐式文件集,因此您不需要以您拥有的方式嵌套。请尝试相反,注意dirincludes如何从嵌套元素移动到任务的参数:

<replace dir="@{buildDir}" includes="**/*install.ksh">
    <replacefilter token="#packageName#" value="@{packageName}" />
</replace>

或者:

<replace dir="@{buildDir}">
    <include name="**/*install.ksh" />
    <replacefilter token="#packageName#" value="@{packageName}" />
</replace>