我有几个文件分散在几个包中。我需要逐个加载文件并使用ANT执行操作,但每当我尝试时,只加载一个文件。对于前者我有2个班级 - com.abc.one.One 和 com.bcd.two.Two 。以下脚本在两个循环迭代中打印两个文件名,但只打印第一个文件作为加载文件
<target name="build" description="My Task">
<for param="file">
<path>
<fileset dir="C:\workspace\AntTest1" includes="**\*.java" />
</path>
<sequential>
<echo message="@{file}" />
<loadfile property="loadedFile" srcfile="@{file}" />
<echo message="${loadedFile}" />
</sequential>
</for>
</target>
我试过搜索文档,但找不到关于如何使用loadfile任务的简明说明。我怀疑这可能是因为ant使用不可变字符串但无法解决方法。我试图通过创建新目标来分割工作,但这对我也没有帮助。任何帮助都非常感谢
答案 0 :(得分:1)
Ant属性只能设置一次,设置后,它是不可变的。
我的Ant时代已经有一段时间了,但也许以下解决方案可以正常工作:对于每个文件,进行antcall调用,文件名为参数。然后,在新目标中,加载文件并执行任务。请注意,antcall会严重影响运行时性能。