By Alvin Alexander. Last updated: September 3, 2016
Ant Java build scripts: Can you share an example of an Ant build script for a standalone Java application?
This is a sample Ant build script for a Java application I wrote. It is a GUI/Swing application named "AlwaysOnTop". I include it here because I'm a big believer in learning by example, and maybe this Ant script can help you create an Ant script for your own applications.
<project name="alwaysontop" default="make_jar" basedir="..">
<!-- IMPORTANT VARIABLE HERE -->
<property name="build.dir" value="C:/Projects_LocalCVS/DevDaily/AlwaysOnTopTest"/>
<path id="class.path">
<fileset dir="lib">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
</fileset>
</path>
<target name="init">
<property name="project_name" value="alwaysontop"/>
<property name="jar" value="${build.dir}/jar/${project_name}.jar"/>
<property name="mainclass" value="com.devdaily.alwaysontoptest.Main"/>
<property name="sampleDataDir" value="${build.dir}/data"/>
<property name="nameOfDataDir" value="data"/>
<tstamp/>
</target>
<target name="create_classes_dir" depends="init">
<mkdir dir="${build.dir}/classes-ant"/>
</target>
<!-- CLEAN TARGET -->
<target name="clean">
<delete dir="${build.dir}/classes-ant"/>
</target>
<!-- COMPILE TARGET -->
<target name="compile" depends="clean,create_classes_dir">
<javac destdir="${build.dir}/classes-ant" source="1.4" >
<src path="src"/>
<exclude name="**/_*.java"/>
<classpath refid="class.path"/>
</javac>
<copy todir="${build.dir}/classes-ant">
<fileset dir="${build.dir}/src">
<include name="**/*.gif"/>
<include name="**/*.jpg"/>
<include name="**/*.png"/>
</fileset>
<fileset dir="${build.dir}">
<include name="reports/**/*.*"/>
</fileset>
</copy>
</target>
<!-- MAKE JAR TARGET -->
<target name="make_jar" depends="compile">
<jar basedir="${build.dir}/classes-ant"
jarfile="${build.dir}/jar/${project_name}.jar"
manifest="${build.dir}/build/${project_name}.manifest"
includes="**/*.*"/>
<copy todir="${build.dir}/jar">
<fileset dir="${build.dir}/lib">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
</fileset>
</copy>
</target>
</project>

