ANT-从多个包中加载多个Java文件

时间:2013-01-14 18:23:31

标签: java ant ant-contrib

我有几个文件分散在几个包中。我需要逐个加载文件并使用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使用不可变字符串但无法解决方法。我试图通过创建新目标来分割工作,但这对我也没有帮助。任何帮助都非常感谢

1 个答案:

答案 0 :(得分:1)

Ant属性只能设置一次,设置后,它是不可变的。

我的Ant时代已经有一段时间了,但也许以下解决方案可以正常工作:对于每个文件,进行antcall调用,文件名为参数。然后,在新目标中,加载文件并执行任务。请注意,antcall会严重影响运行时性能。