如何在ant中选择文件列表的第一个元素?

时间:2012-04-10 13:51:46

标签: ant

如何仅将ant <filelist>的第一个元素和<echo>文件名作为字符串?

2 个答案:

答案 0 :(得分:1)

这是一个不需要外部任务的解决方案

<project name="demo" default="run">

    <path id="files.path">
        <first>
            <filelist dir="dir1" files="foo.jar,file1.jar,file2.jar"/>
        </first>
    </path>

    <target name="run">
        <pathconvert property="path.output" refid="files.path"/>

        <echo message="Output: ${path.output}"/>
    </target>

</project>

答案 1 :(得分:0)

您需要ant-contrib并且代码中使用的技巧是一旦设置属性就无法更改。

<for param="file">
    <path>
       <filelist 
        id="docfiles" 
        dir="toto"
        files="foo.xml
        bar.xml"/>
    </path>
    <sequential>
       <basename property="package" file="@{file}"/>
    </sequential>
</for>

<echo>${package}</echo>

编辑:
另一种解决方案是使用Antelope

中的中断任务