我有一个 ant 脚本来编译我的程序,构建 jar 然后运行它。我的程序接受一个参数,即一个文件。
在我的运行目标中,我希望能够将指定文件夹中的所有文件作为参数一个一个地执行我的 jar。
我是否必须像这样手写所有不同的案例:
<target name="run" depends="jar">
<mkdir dir="${output.dir}" />
<java jar="${myjar}.jar" output="${output.dir}/${test1}" fork="true">
<arg value="${test.dir}/${test1}" />
</java>
<java jar="${myjar}.jar" output="${output.dir}/${test2}" fork="true">
<arg value="${test.dir}/${test2}" />
</java>
#and so on
</target>
或者有没有一种方法可以迭代我的测试目录并节省我编写其他 20 个案例的时间?
谢谢。
最佳答案
我使用 <apply>
找到了我的解决方案标记 ( doc )。
由于 <redirector>
,我的脚本现在看起来像这样,每次执行都输出到单独的文件中标签:
<target name="run" depends="jar">
<mkdir dir="${output.dir}" />
<apply executable="java">
<fileset dir="${test.dir}" />
<arg value="-jar"/>
<arg path="${jar.dir}/${myjar}.jar" />
<srcfile />
<redirector>
<outputmapper id="out" type="glob" from="*" to="${output.dir}/*" />
</redirector>
</apply>
</target>
关于java - Ant - 迭代文件夹以获取运行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305828/