

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html lang="en">
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <head>
      <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Apache Ant - Binary Distributions</title>
        <link type="text/css" href="./page.css" rel="stylesheet">
        </head>

    <body>
      <p class="navpath">
        <script src="./breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
      </p>

      <div class="logobar">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="left"><img border="0" alt="Apache Ant site" src="./images/group-logo.gif"></td>
            <td align="center" width="100%"><img alt="Apache Ant logo" border="0" src="./images/project-logo.gif"></td>
            <td align="right">
              <form target="_blank" onsubmit="q.value = query.value + ' site:ant.apache.org'" action="http://www.google.com/search" method="get">
                <table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
                  <tr>
                    <td colspan="3"><img height="10" width="1" alt="" src="./images/spacer.gif"></td>
                  </tr>
                  <tr>
                    <td><img height="1" width="1" alt="" src="./images/spacer.gif"></td>
                    <td nowrap="nowrap" class="searchcaption">
                      <input name="q" type="hidden">
                      <input size="15" id="query" type="text">
                      <img height="1" width="5" alt="" src="./images/spacer.gif">
                      <input name="Search" value="Search" type="submit">
                      <br>
                      the Apache Ant site
                    </td>
                    <td><img height="1" width="1" alt="" src="./images/spacer.gif"></td>
                  </tr>
                  <tr>
                    <td><img alt="" border="0" height="10" width="9" src="./images/search-left.gif"></td>
                    <td><img height="1" width="1" alt="" src="./images/spacer.gif"></td>
                    <td><img alt="" border="0" height="10" width="9" src="./images/search-right.gif"></td>
                  </tr>
                </table>
              </form>
            </td>
          </tr>
        </table>
      </div>

                  <div class="tab">
              <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
                <tr>
                                  <td width="8"><img alt="" height="5" width="8" src="./images/spacer.gif"></td><td valign="bottom">
                      <table summary="selected tab" style="height: 1.5em" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                        <td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="./images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b>Home</b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="./images/tabSel-right.gif"></td>
                        </tr>
                      </table>
                    </td>
                                    <td width="5"><img alt="" height="8" width="8" src="./images/spacer.gif"></td><td valign="bottom">
                      <table summary="non selected tab" style="height: 1.4em" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                          <td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="./images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="./projects/index.html"><font size="2" face="Arial, Helvetica, Sans-serif">Projects</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="./images/tab-right.gif"></td>
                        </tr>
                      </table>
                    </td>
                            </tr>
              </table>
            </div>

      <div class="bluebar"></div>
                    
  <div class="menucontainer">

    <div class="menu">
      <ul>
              <li class="menuheader">Apache Ant
          <ul>
                            <li>
                                    <a href="./index.html">Welcome</a>
                                </li>
                            <li>
                                    <a href="./license.html">License</a>
                                </li>
                            <li>
                                    <a href="./antnews.html">News</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Documentation
          <ul>
                            <li>
                                    <a href="./manual/index.html">Manual</a>
                                </li>
                            <li>
                                    <a href="./projects.html">Related Projects</a>
                                </li>
                            <li>
                                    <a href="./external.html">External Tools and Tasks</a>
                                </li>
                            <li>
                                    <a href="./resources.html">Resources</a>
                                </li>
                            <li>
                                    <a href="./faq.html">Frequently Asked Questions</a>
                                </li>
                            <li>
                                    <a href="http://wiki.apache.org/ant/FrontPage">Wiki</a>
                                </li>
                            <li>
                                    <a href="./problems.html">Having Problems?</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Download
          <ul>
                            <li>
                              <span class="sel">Binary Distributions</span>
                              </li>
                            <li>
                                    <a href="http://ant.apache.org/srcdownload.cgi">Source Distributions</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Contributing
          <ul>
                            <li>
                                    <a href="./mail.html">Mailing Lists</a>
                                </li>
                            <li>
                                    <a href="./cvs.html">CVS Repositories</a>
                                </li>
                            <li>
                                    <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Ant">Bug Database</a>
                                </li>
                            <li>
                                    <a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Ant&amp;bug_severity=enhancement">Enhancement Requests</a>
                                </li>
                            <li>
                                    <a href="http://www.apache.org/foundation/contributing.html">Donations</a>
                                </li>
                      </ul>
        </li>
              <li class="menuheader">Project Management
          <ul>
                            <li>
                                    <a href="./contributors.html">Contributors</a>
                                </li>
                            <li>
                                    <a href="./mission.html">Apache Ant Mission</a>
                                </li>
                            <li>
                                    <a href="./bylaws.html">Project Bylaws</a>
                                </li>
                            <li>
                                    <a href="./legal.html">Legal</a>
                                </li>
                      </ul>
        </li>
            </ul>
    </div>
    <img style="float: left" height="10" width="10" border="0" alt="" src="./images/menu-left.gif">
    <img style="float: right" height="10" width="10" border="0" alt="" src="./images/menu-right.gif">
  </div>
      <div class="lightbluebar">&nbsp;</div>
  <div class="main">
  <div class="content">
    <h1 class="title">Binary Distributions</h1>
            <h3 class="section">
      <a name="Downloading Ant"></a>
      Downloading Ant
    </h3>
                        <p>Use the links below to download a binary distribution of Ant from
one of our mirrors.  It is good practice to 
<a href="[location]#Verify Releases">verify the integrity</a>
of the distribution files, especially if you are using one of our
mirror sites.  In order to do this you must use the signatures from
our <a href="http://www.apache.org/dist/ant/">main distribution
directory</a>.</p>
                                <p>Ant is distributed as <code>zip</code>, <code>tar.gz</code> and
<code>tar.bz2</code> archives - the contents are the same.  Please
note that the <code>tar.*</code> archives contain file names longer
than 100 characters and have been created using GNU tar extensions.
Thus they must be untarred with a GNU compatible version of
<code>tar</code>.</p>
                                <p>In addition the <a href="http://www.jpackage.org">JPackage
project</a> provides RPMs at their own distribution site.</p>
                                <p>If you do not see the file you need in the links below, please see
the <a href="http://www.apache.org/dist/ant/">master distribution
directory</a> or, preferably, its <a href="[preferred]/ant/">mirror</a>.</p>
                        <h3 class="section">
      <a name="Mirror"></a>
      Mirror
    </h3>
                        <p>You are currently using <b>[preferred]</b>.  If you encounter a
problem with this mirror, please select another mirror.  If all
mirrors are failing, there are <i>backup</i> mirrors (at the end of
the mirrors list) that should be available.</p>
                                <form action="[location]" method="get" id="SelectMirror">
Other mirrors: <select name="Preferred">
[if-any http]
  [for http]<option value="[http]">[http]</option>[end]
[end]  
[if-any ftp]
  [for ftp]<option value="[ftp]">[ftp]</option>[end]
[end]
[if-any backup]
  [for backup]<option value="[backup]">[backup] (backup)</option>[end]
[end]
</select>
<input type="submit" value="Change" />     
</form>
                        <h3 class="section">
      <a name="Current Release of Ant"></a>
      Current Release of Ant
    </h3>
                        <p>Currently, Apache Ant 1.6.5 is the best available version, see the
<a href="[preferred]/ant/README.html">release notes</a>.</p>
                                <div class="warning">
<div class="label">Note</div>
<div class="content">Ant 1.6.5 has been released on 02-Jun-2005 and
may not be available on all mirrors for a few days.</div>
</div>
                                <br />
                                <div class="warning">
<div class="label">Tar files may require gnu tar to extract</div>
<div class="content">Tar files in the distribution contain long file names, and may
 require gnu tar to do the extraction.</div>
</div>
                                <ul>
<li><code>.zip</code> archive: 
<a href="[preferred]/ant/binaries/apache-ant-1.6.5-bin.zip">apache-ant-1.6.5-bin.zip</a>
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.zip.asc">PGP</a>]
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.zip.sha1">SHA1</a>]
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.zip.md5">MD5</a>]</li>

<li><code>.tar.gz</code> archive: 
<a href="[preferred]/ant/binaries/apache-ant-1.6.5-bin.tar.gz">apache-ant-1.6.5-bin.tar.gz</a>
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.tar.gz.asc">PGP</a>]
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.tar.gz.sha1">SHA1</a>]
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.tar.gz.md5">MD5</a>]</li>

<li><code>.tar.bz2</code> archive: 
<a href="[preferred]/ant/binaries/apache-ant-1.6.5-bin.tar.bz2">apache-ant-1.6.5-bin.tar.bz2</a>
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.tar.bz2.asc">PGP</a>]
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.tar.bz2.sha1">SHA1</a>]
[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.6.5-bin.tar.bz2.md5">MD5</a>]</li>
</ul>
                        <h3 class="section">
      <a name="Nightly Builds"></a>
      Nightly Builds
    </h3>
                        <p>Are currently not available, we hope to restore that service soon.</p>
                                <p>If you want to build Ant from sources, you can use a <a href="http://cvs.apache.org/snapshots/ant/">CVS snapshot</a>.</p>
                        <h3 class="section">
      <a name="Old Ant Releases"></a>
      Old Ant Releases
    </h3>
                        <p>Older releases of Ant can be found <a href="http://archive.apache.org/dist/ant/binaries/">here</a>.  Those
releases are only provided as <code>zip</code> archives that can be
extracted by <code>jar xf </code><em>archive.zip</em> - we highly
recommend to not use those releases but upgrade to Ant's <a href="[location]#Current Release of Ant">latest</a> release.</p>
                        <h3 class="section">
      <a name="Verify Releases"></a>
      Verify Releases
    </h3>
                        <p>It is essential that you verify the integrity of the downloaded
files using the PGP signature or the SHA1 or MD5 checksums.  The
checksums are not as strong indicators as the PGP signature.</p>
                                <p>The PGP signatures can be verified using PGP or GPG.  First
download the <a href="http://www.apache.org/dist/ant/KEYS">KEYS</a>
as well as the <code>asc</code> signature file for the particular
distribution.  Make sure you get these files from the <a href="http://www.apache.org/dist/ant/">main distribution
directory</a>, rather than from a mirror. Then verify the signatures
using</p>
                                <p><code>
% pgpk -a KEYS<br />
% pgpv apache-ant-1.6.5-bin.tar.gz.asc<br />
</code>
<em>or</em><br />
<code>
% pgp -ka KEYS<br />
% pgp apache-ant-1.6.5-bin.tar.gz.asc<br />
</code>
<em>or</em><br />
<code>
% gpg --import KEYS<br />
% gpg --verify apache-ant-1.6.5-bin.tar.gz.asc
</code></p>
                                <p>Alternatively, you can verify the checksums on the files.  Unix
programs called <code>md5</code>/<code>sha1</code> or
<code>md5sum</code>/<code>sha1sum</code> are included in many unix
distributions.  <code>*sum</code> is also available as part of <a href="http://www.gnu.org/software/textutils/textutils.html">GNU
Textutils</a>.  Windows users can get binary md5 programs from <a href="http://www.fourmilab.ch/md5/">here</a>, <a href="http://www.pc-tools.net/win32/freeware/console/">here</a>.  <a href="http://www.slavasoft.com/fsum/">fsum</a> supports MD5 and
SHA1.</p>
                                <p>We highly recommend to verify the PGP signature, though.</p>
                
    </div>
  </div>

        <p class="copyright">
        Copyright &copy; 2000-2005&nbsp;The Apache Software Foundation. All rights reserved.
        <script type="text/javascript" language="JavaScript"><!--
                document.write(" - "+"Last Published: " + document.lastModified);
              //  -->
        </script>
      </p>
    </body>
  </html>










