0

我在属性文件中定义了一个变量:

require.extensions = html, htm

我正在使用该变量,如下所示:

<for list="${require.extensions}" param="letter">
                <sequential>
                    <copy todir="${dir.publish.html}">                                          
                        <fileset dir="${project.dir}">
                            <include name="**/*.@{letter}"/>
                        </fileset>
                    </copy>
                </sequential>
            </for>

我想将所有扩展名为 html 和 htm 的文件复制到 ${project.dir} 目录到 ${dir.publish.html} 目录

但目前它只复制 html 文件而不是 htm 文件。为什么这样?因为我在@{letter} 中获取html 和htm 值,但我不能在里面使用echo,所以我无法检查@{letter} 的值。我的代码有什么问题吗?


<copy todir="${dir.publish.html}">
    <fileset dir="${project.dir}">
        <include name="**/*.html"/>                         
            <include name="**/*.htm"/>
    </fileset>
</copy>

如果我这样做,它将起作用。但是想做.html | .htm 应该被动态插入。

4

1 回答 1

1

鉴于for 任务的文档,用于将字符串拆分为标记的默认分隔符是,. 这意味着您的列表将包含两个标记:html<space>htm. 因此,您的任务会复制所有以 . 结尾的文件.<space>htm

于 2013-05-29T21:00:32.140 回答