Introduction to Apache Ant

The Apache Ant package is a Java-based build tool. In theory, it is like the make command, but without make's wrinkles. Ant is different. Instead of a model that is extended with shell-based commands, Ant is extended using Java classes. Instead of writing shell commands, the configuration files are XML-based, calling out a target tree that executes various tasks. Each task is run by an object that implements a particular task interface.

This package is known to build and work properly using an LFS-8.2 platform.

Package Information

Additional Downloads

Apache Ant Dependencies


A JDK (Java Binary or OpenJDK-9.0.4) and GLib-2.56.0

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/apache-ant

Installation of Apache Ant



Several dependent packages have moved since the packaging of Ant requiring download of the above extra files. Copy those files into the source tree with the following commands:

cp -v ../jai-core-1.1.3.jar  \
      ../jai-codec-1.1.3.jar \
      ../xz-1.0.jar  lib     &&
unzip -p ../NetRexx-3.06-GA.zip lib/NetRexxC.jar > lib/NetRexxC.jar

Build a limited bootstrap version of Apache Ant using the following command:


Download the rest of the runtime dependencies using the fetch.xml ant build script:

bootstrap/bin/ant -f fetch.xml -Ddest=system || true &&
cp -v lib/*.jar lib/optional/

Build Apache Ant by running the following command:

./build.sh -Ddist.dir=$PWD/ant-1.10.2 dist

Install, as the root user:

cp -rv ant-1.10.2 /opt/            &&
chown -R root:root /opt/ant-1.10.2 &&
ln -sfv ant-1.10.2 /opt/ant

Command Explanations

bootstrap/bin/ant -f fetch.xml -Ddest=system || true: These commands download the rest of the missing dependencies into the source tree (in the lib/ directory).

cp -v ... lib/optional: This command copies the previously downloaded jar files to the expected place in the source tree so that ant picks them up at buld time.

./build.sh -Ddist.dir=$PWD/ant-1.10.2 dist: This command builds, tests, then installs the package into a temporary directory..

Configuring Apache Ant

Config Files

/etc/ant/ant.conf, ~/.ant/ant.conf, and ~/.antrc

Configuration Information

Some packages will require ant to be in the search path and the ANT_HOME environment variable defined. Satisfy these requirements by issuing, as the root user:

cat > /etc/profile.d/ant.sh << EOF
# Begin /etc/profile.d/ant.sh

pathappend /opt/ant/bin
export ANT_HOME=/opt/ant

# End /etc/profile.d/ant.sh

The above instrutions assume you have configured your system as described in The Bash Shell Startup Files.


Installed Programs: ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl, and runant.py
Installed Libraries: ant*.jar
Installed Directories: /opt/ant-1.10.2

Short Descriptions


is a Java based build tool used by many packages instead of the conventional make program.


is a support script used to start ant build scripts in a given directory.


is a Perl script that provides similar functionality offered by the antRun script.


is a Perl script that allows Bash to complete an ant command-line.


is a Perl wrapper script used to invoke ant.


is a Python wrapper script used to invoke ant.


files are the Apache Ant Java class libraries.

Last updated on 2018-02-21 18:21:10 -0600