如何使用Ant通过命令行参数运行程序?

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

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

我的程序获得命令行参数。在使用Ant时如何通过它?

提问于
用户回答回答于

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

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

以下是从.jar文件运行Java程序的任务:

<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属性的特定目标进行设置,并且在内部执行:

<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 · 站长 (已认证)

    7 粉丝1 提问9 回答
  • 四无君

    0 粉丝0 提问3 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    46 粉丝0 提问2 回答
  • 拉布拉多拉不多

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券