• avi

    Ant - Executing Java code

    You can use Ant to execute Java code. In the following example, the java class takes in an argument (administrator's email address) and sends out an email.

    public class NotifyAdministrator {

       public static void main(String[] args) {
          String email = args[0];
          notifyAdministratorviaEmail(email);
          System.out.println("Administrator "+email+" has been notified");
       }
       
       public static void notifyAdministratorviaEmail(String email) { 
          //......
       }
    }

    Here is a simple build that executes this java class.

    <?xml version = "1.0"?>
    <project name = "sample" basedir = "." default = "notify">
       <target name = "notify">

          <java fork = "true" failonerror = "yes" classname = "NotifyAdministrator">
             <arg line = "admin@test.com"/>
          </java>
       </target>
    </project>

    When the build is executed, it produces the following outcome −

    C:\>ant
    Buildfile: C:\build.xml

    notify: [java] Administrator admin@test.com has been notified

    BUILD SUCCESSFUL
    Total time: 1 second

    In this example, the java code does a simple thing - to send an email. We could have used the built in the Ant task to do that. However, now that you have got the idea, you can extend your build file to call the java code that performs complicated things, for example: encrypts your source code.