如何分配一个通配的路径到一个属性
问题描述:
我有一个目录,我们把它称为/tmp/foo/bar_v101/scripts
,我需要分配给一个ant属性。在一般情况下,我会做这样的:如何分配一个通配的路径到一个属性
<property name="prop" value="/tmp/foo/bar_v101/scripts" />
但是,财产的v101
部分将被改变,所以我喜欢做这样的事情:
<property name="prop" value="/tmp/foo/bar_*/scripts" />
而道具的价值会自动扩展到这样的东西:
/tmp/foo/bar_v101/scripts
或任何当前在文件系统中。不幸的是,这不起作用。有没有人有任何想法如何做到这一点?
答
您可以使用resource collection - 无论是在这样fileset
或files
:
<files includes="/tmp/foo/bar_*/scripts" id="my.file" />
<property name="prop" value="${toString:my.file}" />
注意,这将设置prop
一个分号分隔的所有匹配列表中找到 - 这可能不是有用如果有多个。
A fileset
以类似的方式工作,除了它支持dir
属性和相对路径,而不是由files
使用的绝对路径。
非常感谢您,这正是我正在寻找的。 – 2011-02-08 00:05:10