例如
/test/a.jar
/test/b.jar
/test/c.jar
output:
a.jar
b.jar
c.jar
Run Code Online (Sandbox Code Playgroud)
这大部分都有效,除了它似乎只是获取其中一个文件,而不是全部=/
<for param="file">
<path>
<fileset dir="${test.dir}/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<sequential>
<basename property="filename" file="@{file}"/>
<echo message="${filename}"/>
</sequential>
</for>
Run Code Online (Sandbox Code Playgroud)
这只是让我:
c.jar
c.jar
c.jar
Run Code Online (Sandbox Code Playgroud)
您遇到的问题是Ant属性的不变性 - 一旦设置了属性,通常就无法更改该值.
第一次围绕循环设置filename属性,并且该值"坚持".
从Ant 1.8开始,local任务允许您将属性本地化为当前执行块.例如,你的意思sequential是:
<sequential>
<local name="filename" />
<basename property="filename" file="@{file}"/>
<echo message="${filename}"/>
</sequential>
Run Code Online (Sandbox Code Playgroud)
Ant会在顺序结束时忘记属性,因此可以在每次迭代中使用新值.
| 归档时间: |
|
| 查看次数: |
14367 次 |
| 最近记录: |