1

我有几个文件分散在几个包中。我需要一个一个地加载文件并使用 ANT 执行操作,但是每当我尝试时,只会加载一个文件。例如。我有 2 个课程 - com.abc.one.Onecom.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 使用不可变字符串但无法解决。我试图通过创建新目标来拆分工作,但这也对我没有帮助。非常感谢任何帮助

4

1 回答 1

1

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

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

于 2013-01-14T19:56:09.140 回答