Search code examples
javaant

Use Ant for running program with command line arguments


My program getting command line arguments. How can I pass it when I use Ant?


Solution

  • Extending Richard Cook's answer.

    Here's the ant task to run any program (including, but not limited to Java programs):

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

    Here's the task to run a Java program from a .jar file:

    <target name="run-java">
       <java jar="path for jar">
          <arg value="${arg0}"/>
          <arg value="${arg1}"/>
       </java>
    </target>
    

    You can invoke either from the command line like this:

    ant -Darg0=Hello -Darg1=World run
    

    Make sure to use the -Darg syntax; if you ran this:

    ant run arg0 arg1
    

    then ant would try to run targets arg0 and arg1.