How to install Apache Ant on Windows
Apache Ant1 is still my favorite tool for creating build systems for my code. Yes, I know there are a lot of shiny new tools written in Node.js or something else, but I’ve used Ant for a long time and have found it easy to teach others. What’s more, it comes installed on Macs and is an easy install on Linux as a package.
Unfortunately, it’s a bit of a beast to install on Windows. Every time I have to install Ant on another Windows machine I end up searching the web yet again for a good set of instructions. So this post is primarily for myself, so that I don’t need to search too far.
Prerequisites
Before beginning, make sure you have the latest JDK installed. If not, go download it from Sun2 and install it. It’s better to install the JDK instead of just the JRE because some Ant tasks require the JDK.
Step 1: Download and install
The first step, as with most software, is to download Ant. Go to the Ant homepage and click to download the binary. Because we’re talking about Windows, choose to download the ZIP file rather than any of the others. Scroll down to where it says “Current release of Ant” and click on the ZIP filename.
Once downloaded, unzip the file. You’ll now need to choose a permanent home for Ant on the computer. I tend to use c:\java\ant for simplicity, but you can use whatever you want. I do recommend, however, that the path have no spaces in it (spaces make things more complicated).
Step 2: Set environment variables
This is the part that I always forget. Because you’re installing Ant by hand, you also need to deal with setting environment variables by hand.
For Windows XP: To set environment variables on Windows XP, right click on My Computer and select Properties. Then go to the Advanced tab and click the Environment Variables button at the bottom.
For Windows 7: To set environment variables on Windows 7, right click on Computer and select Properties. Click on Advanced System Settings and click the Environment Variables button at the bottom.
The dialog for both Windows XP and Windows 7 is the same. Make sure you’re only working on system variables and not user variables.
The only environment variable that you absolutely need is JAVA_HOME
, which tells Ant the location of your JRE. If you’ve installed the JDK, this is likely c:\Program Files\Java\jdk1.x.x\jre
on Windows XP and c:\Program Files(x86)\Java\jdk1.x.x\jre
on Windows 7. You’ll note that both have spaces in their paths, which causes a problem. You need to use the mangled name3 instead of the complete name. So for Windows XP, use C:\Progra~1\Java\jdk1.x.x\jre
and for Windows 7, use C:\Progra~2\Java\jdk1.6.0_26\jre
if it’s installed in the Program Files(x86)
folder (otherwise use the same as Windows XP).
That alone is enough to get Ant to work, but for convenience, it’s a good idea to add the Ant binary path to the PATH
variable. This variable is a semicolon-delimited list of directories to search for executables. To be able to run ant
in any directory, Windows needs to know both the location for the ant
binary and for the java
binary. You’ll need to add both of these to the end of the PATH
variable. For Windows XP, you’ll likely add something like this:
;c:\java\ant\bin;C:\Progra~1\Java\jdk1.x.x\jre\bin
For Windows 7, it will look something like this:
;c:\java\ant\bin;C:\Progra~2\Java\jdk1.x.x\jre\bin
Done
Once you’ve done that and applied the changes, you’ll need to open a new command prompt to see if the variables are set properly. You should be able to simply run ant
and see something like this:
Buildfile: build.xml does not exist!
Build failed
That means Ant is installed properly and is looking for a build.xml
file.
References
Disclaimer: Any viewpoints and opinions expressed in this article are those of Nicholas C. Zakas and do not, in any way, reflect those of my employer, my colleagues, Wrox Publishing, O'Reilly Publishing, or anyone else. I speak only for myself, not for them.