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

ANT-从多个包加载多个Java文件,java,ant,ant-contrib,Java,Ant,Ant Contrib,我有几个文件分散在几个包中。我需要一个接一个地加载文件,并使用ANT执行操作,但每当我尝试时,只加载一个文件。例如,我有两门课——com.abc.one.one和com.bcd.two.two。以下脚本打印两个文件名,但仅打印第一个文件作为两个循环迭代中加载的文件 <target name="build" description="My Task"> <for param="file"> <path>

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

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


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

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


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

我知道,如果您被Ant困住,可以使用Gradle完成此操作。如果您被Ant困住,我知道可以使用Gradle完成此操作。我理解您的评论,但我看到参数文件得到了不同的值。为什么不可变属性不适用于此?我理解您的评论,但我看到参数文件得到了不同的值。为什么不可变属性不适用于此?