使用 Ant 运行具有命令行参数的程序
我的程序获取命令行参数。使用蚂蚁时如何通过?
延伸理查德·库克的答案。
以下是运行任何程序(包括但不限于Java程序)的任务:ant
<target name="run">
<exec executable="name-of-executable">
<arg value="${arg0}"/>
<arg value="${arg1}"/>
</exec>
</target>
以下是从文件运行 Java 程序的任务:.jar
<target name="run-java">
<java jar="path for jar">
<arg value="${arg0}"/>
<arg value="${arg1}"/>
</java>
</target>
您可以从命令行调用任一操作,如下所示:
ant -Darg0=Hello -Darg1=World run
确保使用语法;如果您运行以下命令:-Darg
ant run arg0 arg1
然后会尝试运行目标和 .ant
arg0
arg1
如果您不想为每个可能的参数处理单独的属性,我建议您使用:
<arg line="${args}"/>
您可以检查是否未使用具有属性的特定目标设置属性,并在内部执行以下操作:unless
<input message="Type the desired command line arguments:" addProperty="args"/>
把它们放在一起可以得到:
<target name="run" depends="compile, input-runargs" description="run the project">
<!-- You can use exec here, depending on your needs -->
<java classname="Main">
<arg line="${args}"/>
</java>
</target>
<target name="input-runargs" unless="args" description="prompts for command line arguments if necessary">
<input addProperty="args" message="Type the desired command line arguments:"/>
</target>
您可以按如下方式使用它:
ant
ant run
ant run -Dargs='--help'
前两个命令将提示输入命令行参数,而后者则不会。