Ant:如何为目录中的每个文件执行命令?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我想从一个Ant构建文件中执行一个命令,用于目录中的每个文件。 我正在寻找一个独立于平台的解决方案。

我该怎么做呢?

当然,我可以用某种脚本语言编写脚本,但这会增加项目的依赖性。

提问于
用户回答回答于

简答

<foreach>与嵌套使用<FileSet>

Foreach需要ant-contrib

最近的ant-contrib的更新示例:

<target name="foo">
  <foreach target="bar" param="theFile">
    <fileset dir="${server.src}" casesensitive="yes">
      <include name="**/*.java"/>
      <exclude name="**/*Test*"/>
    </fileset>
  </foreach>
</target>

<target name="bar">
  <echo message="${theFile}"/>
</target>

这将使用导致当前文件的$ {theFile}来阻止目标“bar”。

用户回答回答于

使用<apply>任务

它为每个文件执行一次命令。通过文件集或任何其他资源指定文件。<apply>是内置的; 不需要额外的依赖; 不需要定制任务实施。

也可以只运行一次命令,将所有文件作为参数一次追加。使用parallel属性来切换行为。

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    7 粉丝1 提问9 回答
  • 四无君

    0 粉丝0 提问3 回答
  • o o

    3 粉丝490 提问2 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券