如何使用Ant运行带有命令行参数的程序?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (193)

我的程序得到命令行参数。当我使用Ant时,如何传递它?

提问于
用户回答回答于

这是ant运行任何程序(包括但不限于Java程序)的任务:

<target name="run">
   <exec executable="name-of-executable">
      <arg value="${arg0}"/>
      <arg value="${arg1}"/>
   </exec>
</target>

下面是从.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会试图运行目标arg0arg1

用户回答回答于

如果不想为每个可能的参数处理单独的属性,我建议你使用:

<arg line="${args}"/>

控件的特定目标是否设置了该属性。unless属性和内部do:

<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'

前两个命令将提示输入命令行参数,而后者则不会。

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问5 回答
  • uncle_light

    5 粉丝518 提问3 回答
  • 学生

    2 粉丝477 提问3 回答
  • 军哥

    重庆雷驰信息技术有限公司 · 经理 (已认证)

    5 粉丝1 提问3 回答

扫码关注云+社区

领取腾讯云代金券