Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 将属性转换为路径_Ant - Fatal编程技术网

Ant 将属性转换为路径

Ant 将属性转换为路径,ant,Ant,我有一个逗号分隔值的属性,例如a、b、c 我想把它分开,创建不同文件集的路径;例如 <path id="compile.path"> <fileset dir="..\a\lib\"/> <fileset dir="..\b\lib\"/> <fileset dir="..\c\lib\"/> </path> 这可能吗?我该怎么做?我对蚂蚁不是很熟悉。感谢您的帮助。您必须使用自定义脚本或非标准Ant任务。看看如何开始。

我有一个逗号分隔值的属性,例如a、b、c

我想把它分开,创建不同文件集的路径;例如

<path id="compile.path">
  <fileset dir="..\a\lib\"/>
  <fileset dir="..\b\lib\"/>
  <fileset dir="..\c\lib\"/>
</path>


这可能吗?我该怎么做?我对蚂蚁不是很熟悉。感谢您的帮助。

您必须使用自定义脚本或非标准Ant任务。看看如何开始。

另一种编写for循环的方法,基于分隔符迭代原始属性,并从循环中为每个令牌调用目标

    <foreach list="${property}" delimiter="${line.separator}" target="mytarget" 
param="token" />

然后调用目标:

<target name="mytarget">
    <echo>${token}</echo>           
</target>   

${token}

另一种方法是使用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

将产生结果
ABC、DEF、GHI、JKL

这不符合我的要求,因为它使用一个或多个属性创建另一个属性。我需要一个路径元素。我需要创建一个路径元素。我对foreach很熟悉,但我不能用它来构建path元素。我希望情况不会是这样。谢谢你给我指明了正确的方向。