我有一个逗号分隔值的属性,例如。a,b,c
我想将其分开并创建不同文件集的路径;例如。
<path id="compile.path">
<fileset dir="..\a\lib\"/>
<fileset dir="..\b\lib\"/>
<fileset dir="..\c\lib\"/>
</path>
这可能吗?我该怎么做?我对蚂蚁不是很熟悉。任何帮助表示赞赏。
我有一个逗号分隔值的属性,例如。a,b,c
我想将其分开并创建不同文件集的路径;例如。
<path id="compile.path">
<fileset dir="..\a\lib\"/>
<fileset dir="..\b\lib\"/>
<fileset dir="..\c\lib\"/>
</path>
这可能吗?我该怎么做?我对蚂蚁不是很熟悉。任何帮助表示赞赏。
您必须使用自定义脚本或非标准 Ant 任务。看看这个 SO answer,它解释了如何从属性中获取子字符串以帮助您入门。
另一种方法是编写一个 for 循环,根据分隔符迭代原始属性,并从循环中为每个标记调用一个目标。
<foreach list="${property}" delimiter="${line.separator}" target="mytarget"
param="token" />
然后被调用的目标:
<target name="mytarget">
<echo>${token}</echo>
</target>
另一种方法是使用PropertySelector
from ant-contrib
<property name="package.ABC.name" value="abc pack name" />
<property name="package.DEF.name" value="def pack name" />
<property name="package.GHI.name" value="ghi pack name" />
<property name="package.JKL.name" value="jkl pack name" />
<propertyselector property="pack.list"
delimiter=","
match="package\.([^\.]*)\.name"
select="\1"
casesensitive="false" />
would yield the results
ABC,DEF,GHI,JKL