Java ant目标,以给定扩展名迭代生成路径中的所有文件
对于给定扩展名的脚本文件,我有一个简单的语法,它可以转换为我想要创建的java类文件,每个类文件都包含一个可以由反射调用的给定函数 我想编写一个主函数,我可以从ant脚本调用它,该脚本可以查看ant构建目录,遍历所有具有我的扩展名的文件,并将每个文件转换为一个java文件,该文件不是放在bin目录中,而是放在包含扩展名的文件(脚本)的src目录包中 这可能吗Java ant目标,以给定扩展名迭代生成路径中的所有文件,java,ant,Java,Ant,对于给定扩展名的脚本文件,我有一个简单的语法,它可以转换为我想要创建的java类文件,每个类文件都包含一个可以由反射调用的给定函数 我想编写一个主函数,我可以从ant脚本调用它,该脚本可以查看ant构建目录,遍历所有具有我的扩展名的文件,并将每个文件转换为一个java文件,该文件不是放在bin目录中,而是放在包含扩展名的文件(脚本)的src目录包中 这可能吗 Andy试试ant contrib项目。它有一个需要文件集的任务。然后你可以用它做任何你想做的事情: <ac:for param="
Andy试试ant contrib项目。它有一个需要文件集的任务。然后你可以用它做任何你想做的事情:
<ac:for param="file">
<fileset ... />
<sequential>
<echo message="@{file}" />
</sequential>
</ac:for>
警告:我是这个项目的所有者。它还不需要Ant1.7/1.8构造(即资源集合),但这项工作正在进行中 以下示例说明如何在
src
目录中为bin
目录中的每个.ext
文件创建.java
文件
但对于代码生成,我希望您需要实现一个定制的Ant任务
<project default="test">
<target name="test">
<copy todir="src">
<fileset dir="bin">
<include name="**/*.ext"/>
</fileset>
<globmapper from="*.ext" to="*.java"/>
<filterchain>
<!--
You will do some custom filtering
to create your new Java src file.
This is just for illustration.
-->
<headfilter lines="1"/>
<tokenfilter>
<replaceregex pattern=".*" replace="your new content"/>
</tokenfilter>
</filterchain>
</copy>
</target>
<!-- use with care! -->
<target name="clean">
<delete dir="src">
<include name="**/*.java"/>
</delete>
</target>
</project>