为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

梵蒂冈之花 2019-11-28 09:48:04
我想从Ant构建文件为目录中的每个文件执行命令。我正在寻找与平台无关的解决方案。我该怎么做呢?当然,我可以用某种脚本语言编写脚本,但这会给项目增加更多的依赖性。
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

简短答案

<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}调用目标“栏”,生成当前文件。


查看完整回答
反对 回复 2019-11-28
?
千巷猫影

TA贡献1829条经验 获得超7个赞

基本上,由于没有<java>的扩展(还可以吗?),与<apply>扩展<exec>的方式相同,他建议使用<apply>(当然也可以在命令行中运行Java程序)


这里有一些例子:


  <apply executable="java"> 

    <arg value="-cp"/> 

    <arg pathref="classpath"/> 

    <arg value="-f"/> 

    <srcfile/> 

    <arg line="-o ${output.dir}"/> 


    <fileset dir="${input.dir}" includes="*.txt"/> 

  </apply> 


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 641 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信