我在我的属性文件中定义了一个变量:
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的文件到${项目。${Dir .publish.html} Dir
但目前它只复制html文件,而不是htm文件。为什么如此?因为我在@{字母}外面得到html和htm值,但我不能在里面使用echo,所以我无法检查@{字母}的值。我的代码有问题吗?
<copy todir="${dir.publish.html}">
<fileset dir="${project.dir}">
<include name="**/*.html"/>
<include name="**/*.htm"/>
</fileset>
</copy>
如果我这样做,它将工作。但是要使。html | .htm应该被动态插入
给定for任务的文档,用于将字符串分割为令牌的默认分隔符是,
。这意味着您的列表将包含两个令牌:html
和<space>htm
。所以你的任务复制所有以.<space>htm
结尾的文件。