我的属性文件中定义了一个变量:
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} dir
但目前它只复制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应该动态插入。
答案 0 :(得分:1)
给定documentation of the for task,用于将字符串拆分为标记的默认分隔符为,
。这意味着您的列表将包含两个令牌:html
和<space>htm
。因此,您的任务会复制以.<space>htm
结尾的所有文件。