Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ant目标,以给定扩展名迭代生成路径中的所有文件_Java_Ant - Fatal编程技术网

Java ant目标,以给定扩展名迭代生成路径中的所有文件

Java ant目标,以给定扩展名迭代生成路径中的所有文件,java,ant,Java,Ant,对于给定扩展名的脚本文件,我有一个简单的语法,它可以转换为我想要创建的java类文件,每个类文件都包含一个可以由反射调用的给定函数 我想编写一个主函数,我可以从ant脚本调用它,该脚本可以查看ant构建目录,遍历所有具有我的扩展名的文件,并将每个文件转换为一个java文件,该文件不是放在bin目录中,而是放在包含扩展名的文件(脚本)的src目录包中 这可能吗 Andy试试ant contrib项目。它有一个需要文件集的任务。然后你可以用它做任何你想做的事情: <ac:for param="

对于给定扩展名的脚本文件,我有一个简单的语法,它可以转换为我想要创建的java类文件,每个类文件都包含一个可以由反射调用的给定函数

我想编写一个主函数,我可以从ant脚本调用它,该脚本可以查看ant构建目录,遍历所有具有我的扩展名的文件,并将每个文件转换为一个java文件,该文件不是放在bin目录中,而是放在包含扩展名的文件(脚本)的src目录包中

这可能吗


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>