【问题标题】:ANT- Loading Multiple Java files from Several packagesANT- 从多个包中加载多个 Java 文件
【发布时间】:2013-01-14 18:23:31
【问题描述】:

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

【问题讨论】:

  • 我知道这可以使用 Gradle 来完成,如果你被 Ant 卡住了。

标签: java ant ant-contrib


【解决方案1】:

ant属性只能设置一次,设置后不可变。

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

【讨论】:

  • 我理解您的评论,但我看到参数文件正在获取不同的值。为什么不可变属性不适用?
猜你喜欢
  • 2020-07-27
  • 2018-12-22
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多