2006-09-11 04:19:00 +00:00
|
|
|
<!--
|
|
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
|
|
this work for additional information regarding copyright ownership.
|
|
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
(the "License"); you may not use this file except in compliance with
|
|
|
|
the License. You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
-->
|
2001-02-13 12:32:01 +00:00
|
|
|
<html>
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Language" content="en-us">
|
2005-04-29 18:58:16 +00:00
|
|
|
<link rel="stylesheet" type="text/css" href="stylesheets/style.css">
|
2010-11-11 17:04:16 +00:00
|
|
|
<title>Installing Apache Ant</title>
|
2001-02-13 12:32:01 +00:00
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
2010-11-11 17:04:16 +00:00
|
|
|
<h1>Installing Apache Ant</h1>
|
2018-01-20 10:11:35 +01:00
|
|
|
<h2 id="getting">Getting Apache Ant</h2>
|
2007-09-19 07:29:05 +00:00
|
|
|
|
2010-05-16 21:05:55 +00:00
|
|
|
<h3>The Short Story</h3>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
To get up and running with the binary distribution of Ant quickly, follow these steps:
|
|
|
|
</p>
|
2010-05-16 21:05:55 +00:00
|
|
|
<ol>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Make sure you have a Java environment installed, See <a href="#sysrequirements">System Requirements</a> for
|
|
|
|
details.</li>
|
|
|
|
<li>Download Ant. See <a href="#getBinary">Binary Distribution</a> for details.</li>
|
2010-05-16 21:05:55 +00:00
|
|
|
<li>Uncompress the downloaded file into a directory.</li>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Set environmental variables <code>JAVA_HOME</code> to your Java environment, <code>ANT_HOME</code> to the directory
|
|
|
|
you uncompressed Ant to, and add <code>${ANT_HOME}/bin</code> (Unix) or <code>%ANT_HOME%/bin</code> (Windows) to
|
|
|
|
your <code>PATH</code>. See <a href="#setup">Setup</a> for details.</li>
|
|
|
|
<li>Optionally, from the <code>ANT_HOME</code> directory run <code>ant -f fetch.xml -Ddest=system</code> to get the
|
|
|
|
library dependencies of most of the Ant tasks that require them. If you don't do this, many of the dependent Ant tasks
|
|
|
|
will not be available. See <a href="#optionalTasks">Optional Tasks</a> for details and other options for
|
|
|
|
the <code>-Ddest</code> parameter.</li>
|
|
|
|
<li>Optionally, add any desired Antlibs. See <a href="http://ant.apache.org/antlibs/proper.html" target="_top">Ant
|
|
|
|
Libraries</a> for a list.</li>
|
2010-05-16 21:05:55 +00:00
|
|
|
</ol>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
Note that the links in the list above will give more details about each of the steps, should you need them. Or you can
|
|
|
|
just continue reading the rest of this document.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
2010-06-05 18:48:48 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
The short story for working with the Ant source code (not needed if you are working with the binary distribution) is:
|
2010-06-05 18:48:48 +00:00
|
|
|
</p>
|
2010-05-16 21:05:55 +00:00
|
|
|
<ol>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Get the source code. See <a href="#sourceEdition">Source Distribution</a> for details.</li>
|
|
|
|
<li>Build Ant. See <a href="#buildingant">Building Ant</a> for details.</li>
|
2010-05-16 21:05:55 +00:00
|
|
|
</ol>
|
|
|
|
<p>
|
|
|
|
For the full story, continue reading.
|
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="getBinary">Binary Distribution</h3>
|
2010-05-16 21:05:55 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
The latest stable version of Ant is available from the Ant web page <a href="http://ant.apache.org/"
|
|
|
|
target="_top">http://ant.apache.org/</a>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
The binary distribution of Ant is available as 3 different archives
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
<ol>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li><b>.zip</b> - Recommended compression format for Windows, can also be used on other platforms. Supported by many
|
|
|
|
programs and some operating systems natively.</li>
|
|
|
|
<li><b>.tar.gz</b> - Using the tar program to gather files together, and gzip to compress and uncompress.</li>
|
|
|
|
<li><b>.tar.bz2</b> - Using the tar program to gather files together, and bzip2 to compress and uncompress.</li>
|
2010-05-16 21:05:55 +00:00
|
|
|
</ol>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
2010-05-16 21:05:55 +00:00
|
|
|
Choose the format that is best supported for your platform.
|
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3>Binary RPM Package</h3>
|
2010-05-16 21:05:55 +00:00
|
|
|
|
|
|
|
<p>Consult the <a href="#jpackage">jpackage</a> section below.</p>
|
|
|
|
|
|
|
|
<h3>Bundled in IDEs</h3>
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
All the main Java IDEs ship with Ant, products such as Eclipse, NetBeans and IntelliJ IDEA. If you install Ant this way
|
|
|
|
you usually get the most recent release of Ant at the time the IDE was released. Some of the IDEs (Eclipse and NetBeans
|
|
|
|
in particular) ship with extra tasks that only work if IDE-specific tools are on Ant's path. To use these on
|
|
|
|
command-line versions of Ant, the relevant JARs need to be added to the command-line Ant as extra libraries/tasks. Note
|
|
|
|
that if it is an IDE task or extension that is not behaving, the Ant team is unable to field bug reports. Try the IDE
|
|
|
|
mailing lists first, who will cross-file bugs if appropriate.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
IDEs can invariably be pointed at different Ant installations. This lets developers upgrade to a new release of Ant, and
|
|
|
|
eliminate inconsistencies between command-line and IDE Ant.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<h3>Bundled in Java applications</h3>
|
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
Many Java applications, most particularly application servers, ship with a version of Ant. These are primarily for
|
|
|
|
internal use by the application, using the Java APIs to delegate tasks such as JSP page compilation to the Ant
|
|
|
|
runtime. Such distributions are usually unsupported by everyone. Particularly troublesome are those products that not
|
|
|
|
only ship with their own Ant release, they add their own version of ANT.BAT or ant.sh to the <code>PATH</code>. If Ant
|
|
|
|
starts behaving weirdly after installing something, try the <a href="#diagnostics">diagnostics</a> advice.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="sourceEdition">Source Distribution</h3>
|
2010-05-16 21:05:55 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
If you prefer the source distribution, you can download the source for the latest Ant release from
|
2010-05-16 21:05:55 +00:00
|
|
|
<a href="http://ant.apache.org/srcdownload.cgi" target="_top">http://ant.apache.org/srcdownload.cgi</a>.
|
2018-01-20 10:11:35 +01:00
|
|
|
</p>
|
2010-05-16 21:05:55 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
If you prefer the leading-edge code, you can access the code as it is being developed via Git. The Ant website has
|
|
|
|
details on <a href="http://ant.apache.org/git.html" target="_top">accessing Git</a>. All bug fixes will go in against
|
|
|
|
the HEAD of the source tree, and the first response to many bugreps will be "have you tried the latest version". Don't
|
|
|
|
be afraid to download and build a prerelease distribution, as everything other than new features are usually stable.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
See the section <a href="#buildingant">Building Ant</a> on how to build Ant from the source code. You can also access
|
|
|
|
the <a href="https://git-wip-us.apache.org/repos/asf?p=ant.git;a=summary" target="_top">Ant Git repository</a> on-line.
|
|
|
|
</p>
|
2010-05-16 21:05:55 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="archives">Archive Download Area Layout</h3>
|
2010-05-16 21:05:55 +00:00
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
Older versions of Ant are available in the archives at <a href="http://archive.apache.org/dist/ant/"
|
|
|
|
target="_top">http://archive.apache.org/dist/ant/</a>. The files are organized as follows.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
2007-09-19 07:29:05 +00:00
|
|
|
<table>
|
|
|
|
<tr>
|
2007-09-25 17:11:37 +00:00
|
|
|
<th>Filename or Path</th>
|
2007-09-19 07:29:05 +00:00
|
|
|
<th>Description</th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>KEYS</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>PGP keyfile. It contains the PGP keys of Ant developers so you can 'trust' the distribution.</td>
|
2007-09-19 07:29:05 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>RELEASE-NOTES-{version}.html</td>
|
|
|
|
<td>
|
|
|
|
Release notes of the given version in HTML format. When upgrading your Ant installation you
|
2007-09-25 17:11:37 +00:00
|
|
|
should have a look at the <i>Changes that could break older environments</i> section.
|
2007-09-19 07:29:05 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>ant-current-bin.zip</td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
ZIP archive containing the compiled version of Ant in the last released version. It is recommended that
|
2010-05-16 21:05:55 +00:00
|
|
|
you do not download the latest version this way, as the standard way of downloading described above will
|
|
|
|
redirect you to a mirror closer to you, thus making the download faster for you and reducing the load
|
|
|
|
on Apache servers.
|
2007-09-19 07:29:05 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>ant-current-src.zip</td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
ZIP archive containing the sources of Ant. If you have this you can compile Ant. If you do not have the
|
|
|
|
<i>required</i> dependencies, the classes depending on them are just not built. Again, it is preferred to use the
|
|
|
|
standard way of getting the source package described above to make your download quicker and to reduce the load on
|
|
|
|
Apache servers.
|
2007-09-19 07:29:05 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>ant-current-*.asc</td>
|
|
|
|
<td>
|
|
|
|
Security file for checking the correctness of the zip file. This one is the
|
2018-01-20 10:11:35 +01:00
|
|
|
<a href="http://en.wikipedia.org/wiki/Pretty_Good_Privacy" target="_blank">PGP</a> signature.
|
2007-09-19 07:29:05 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>ant-current-*.md5</td>
|
|
|
|
<td>
|
|
|
|
Security file for checking the correctness of the zip file. This one is the
|
2018-01-20 10:11:35 +01:00
|
|
|
<a href="http://en.wikipedia.org/wiki/Md5" target="_blank">MD5</a> checksum.
|
2007-09-19 07:29:05 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>ant-current-*.sha1</td>
|
|
|
|
<td>
|
|
|
|
Security file for checking the correctness of the zip file. This one is the
|
2018-01-20 10:11:35 +01:00
|
|
|
<a href="http://en.wikipedia.org/wiki/SHA-1" target="_blank">SHA1</a> checksum.
|
2007-09-19 07:29:05 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
2007-09-25 17:11:37 +00:00
|
|
|
<tr>
|
|
|
|
<td>antlibs/</td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
This directory holds the Antlibs that are made of available by the Apache Ant project. Antlibs are bundles of Ant
|
|
|
|
tasks that are not delivered as part of the Ant core but are available as optional downloads.
|
2007-09-25 17:11:37 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>binaries/</td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
The binaries directory holds specific Ant releases bundled in both ZIP and tar.gz archive formats. The named
|
|
|
|
releases are in contrast to the ant-current-bin.zip file in the parent directory, which is always guaranteed to be
|
|
|
|
the most current release of Ant.
|
2007-09-25 17:11:37 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>common/</td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
The common directory holds various files, such as the Apache License file that Ant is licensed under, that people
|
|
|
|
may wish to examine without having to download the whole Ant distribution.
|
2007-09-25 17:11:37 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>source/</td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
The source directory holds the source code for specific Ant releases bundled in both ZIP and tar.gz archive
|
|
|
|
formats. The named releases are in contrast to the ant-current-src.zip file in the parent directory, which is always
|
|
|
|
guaranteed to hold the source code for the most current release of Ant.
|
2007-09-25 17:11:37 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
2007-09-19 07:29:05 +00:00
|
|
|
</table>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<hr/>
|
|
|
|
<h2 id="sysrequirements">System Requirements</h2>
|
|
|
|
<p>
|
|
|
|
Ant has been used successfully on many platforms, including Linux, commercial flavours of Unix such as Solaris and
|
|
|
|
HP-UX, macOS, Windows NT descendants, OS/2 Warp, Novell Netware 6, OpenVMS. The platforms used most for development
|
|
|
|
are, in no particular order, Linux, macOS, Microsoft Windows and Unix; these are therefore that platforms that tend to
|
|
|
|
work best. As of Ant 1.7, Windows 9x is no longer supported.
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
For the current version of Ant (1.10), you will also need a JDK installed on your system, version 8 or later required.
|
|
|
|
The more up-to-date the version of Java, the more Ant tasks you get.
|
2001-02-13 12:32:01 +00:00
|
|
|
</p>
|
2001-11-28 00:49:02 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
<strong>Note:</strong> If a JDK is not present, only the runtime (JRE), then many tasks will not work.
|
2008-03-22 17:25:31 +00:00
|
|
|
</p>
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
<strong>Note:</strong>
|
|
|
|
Ant 1.9.* works with JDK 1.5, Ant 1.8.* works with JDK 1.4 and higher, Ant 1.7.* works with JDK 1.3 and higher,
|
|
|
|
Ant 1.6.* works with JDK 1.2 and higher, Ant 1.2 to Ant 1.5.* work with JDK 1.1 and higher.
|
2003-02-19 09:23:20 +00:00
|
|
|
</p>
|
2006-05-02 21:30:58 +00:00
|
|
|
|
|
|
|
<h3>Open Source Java Runtimes</h3>
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
The Ant team strongly supports users running Ant on <a target="_blank" href="http://openjdk.java.net/">OpenJDK</a> and
|
|
|
|
other open source Java runtimes, and so strives to have a product that works well on those platforms.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<hr/>
|
|
|
|
<h2 id="installing">Installing Ant</h2>
|
|
|
|
<p>
|
|
|
|
The binary distribution of Ant consists of the following directory layout:
|
2006-05-02 21:30:58 +00:00
|
|
|
</p>
|
2002-07-09 21:06:15 +00:00
|
|
|
<pre>
|
|
|
|
ant
|
2005-12-24 19:48:03 +00:00
|
|
|
+--- README, LICENSE, fetch.xml, other text files. //basic information
|
2002-07-09 21:06:15 +00:00
|
|
|
+--- bin // contains launcher scripts
|
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
+--- lib // contains Ant JARs plus necessary dependencies
|
2002-07-09 21:06:15 +00:00
|
|
|
|
|
|
|
|
+--- docs // contains documentation
|
|
|
|
| |
|
|
|
|
| +--- images // various logos for html documentation
|
|
|
|
| |
|
|
|
|
| +--- manual // Ant documentation (a must read ;-)
|
|
|
|
|
|
|
|
|
+--- etc // contains xsl goodies to:
|
|
|
|
// - create an enhanced report from xml output of various tasks.
|
|
|
|
// - migrate your build files and get rid of 'deprecated' warning
|
|
|
|
// - ... and more ;-)
|
|
|
|
</pre>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
Only the <code>bin</code> and <code>lib</code> directories are required to run Ant.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
To install Ant, choose a directory and copy the distribution files there. This directory will be known as
|
|
|
|
<code>ANT_HOME</code>.
|
2001-09-08 01:05:18 +00:00
|
|
|
</p>
|
2001-07-08 04:56:53 +00:00
|
|
|
|
|
|
|
<table width="80%">
|
|
|
|
<tr>
|
|
|
|
<td colspan="2">
|
2003-04-23 15:57:43 +00:00
|
|
|
<b>Windows 95, Windows 98 & Windows ME Note:</b>
|
2001-07-08 04:56:53 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td width="5%"> </td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>
|
|
|
|
<i>Note that current releases of Ant no longer support these systems. If you are using an older version of Ant,
|
|
|
|
however, the script used to launch Ant will have problems if <code>ANT_HOME</code> is a long filename (i.e. a
|
|
|
|
filename which is not of the format known as "8.3"). This is due to limitations in the OS's handling of
|
|
|
|
the <code>"for"</code> batch file statement. It is recommended, therefore, that Ant be installed in a
|
|
|
|
<b>short</b>, 8.3 path, such as <code>C:\Ant</code>.</i>
|
2003-02-01 14:21:27 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td width="5%"> </td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
On these systems you will also need to configure more environment space to cater for the environment variables used
|
|
|
|
in the Ant launch script. To do this, you will need to add or update the following line in the
|
|
|
|
<code>config.sys</code> file
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<code>shell=c:\command.com c:\ /p /e:32768</code>
|
2003-02-01 14:21:27 +00:00
|
|
|
</p>
|
2001-07-08 04:56:53 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="setup">Setup</h3>
|
2001-09-08 01:05:18 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
Before you can run Ant there is some additional setup you will need to do unless you are installing the
|
|
|
|
<a href="#jpackage">RPM version from jpackage.org</a>:
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
<ul>
|
|
|
|
<li>Add the <code>bin</code> directory to your path.</li>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Set the <code>ANT_HOME</code> environment variable to the directory where you installed Ant. On some operating
|
|
|
|
systems, Ant's startup scripts can guess <code>ANT_HOME</code> (Unix dialects and Windows NT descendants), but it is
|
|
|
|
better to not rely on this behavior.</li>
|
|
|
|
<li>Optionally, set the <code>JAVA_HOME</code> environment variable (see the <a href="#advanced">Advanced</a> section
|
|
|
|
below). This should be set to the directory where your JDK is installed.</li>
|
2001-02-13 12:32:01 +00:00
|
|
|
</ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
Operating System-specific instructions for doing this from the command line are in the <a href="#windows">Windows</a>,
|
|
|
|
<a href="#bash">Linux/Unix (bash)</a>, and <a href="#tcshcsh">Linux/Unix (csh)</a> sections. Note that using this
|
|
|
|
method, the settings will only be valid for the command line session you run them in.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<strong>Note:</strong> Do not install Ant's <code>ant.jar</code> file into the <code>lib/ext</code> directory of the
|
|
|
|
JDK/JRE. Ant is an application, whilst the extension directory is intended for JDK extensions. In particular there are
|
|
|
|
security restrictions on the classes which may be loaded by an extension.
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
2006-09-29 22:49:08 +00:00
|
|
|
<table width="80%">
|
|
|
|
<tr>
|
|
|
|
<td colspan="2">
|
|
|
|
<b>Windows Note:</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td width="5%"> </td>
|
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
The <code>ant.bat</code> script makes use of three environment variables - <code>ANT_HOME</code>,
|
|
|
|
<code>CLASSPATH</code> and <code>JAVA_HOME</code>. <b>Ensure</b> that <code>ANT_HOME</code> and
|
|
|
|
<code>JAVA_HOME</code> variables are set, and that they do <b><u>not</u></b> have quotes (either ' or ") and
|
|
|
|
they do <b><u>not</u></b> end with \ or with /. <code>CLASSPATH</code> should be unset or empty.
|
2006-09-29 22:49:08 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="checkInstallation">Check Installation</h3>
|
|
|
|
<p>
|
|
|
|
You can check the basic installation with opening a new shell and typing <code>ant</code>. You should get a message like
|
|
|
|
this
|
|
|
|
</p>
|
2007-07-20 07:46:31 +00:00
|
|
|
<pre>
|
|
|
|
Buildfile: build.xml does not exist!
|
|
|
|
Build failed
|
|
|
|
</pre>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
So Ant works. This message is there because you need to write a buildfile for your project. With a <code>ant
|
|
|
|
-version</code> you should get an output like
|
|
|
|
</p>
|
2007-07-20 07:46:31 +00:00
|
|
|
<pre>
|
2013-09-13 13:40:23 +00:00
|
|
|
Apache Ant(TM) version 1.9.2 compiled on July 8 2013
|
2010-05-16 21:05:55 +00:00
|
|
|
</pre>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
If this does not work, ensure your environment variables are set right. E.g., on Windows, they must resolve to:
|
2009-12-01 08:11:20 +00:00
|
|
|
</p>
|
|
|
|
<ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>required: <code>%ANT_HOME%\bin\ant.bat</code></li>
|
|
|
|
<li>optional: <code>%JAVA_HOME%\bin\java.exe</code></li>
|
|
|
|
<li>required: <code>%PATH%=...<i>maybe-other-entries</i>...;%ANT_HOME%\bin;...<i>maybe-other-entries</i>...</code></li>
|
2009-12-01 08:11:20 +00:00
|
|
|
</ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
2009-12-01 08:11:20 +00:00
|
|
|
<b>ANT_HOME</b> is used by the launcher script for finding the libraries.
|
2018-01-20 10:11:35 +01:00
|
|
|
<b>JAVA_HOME</b> is used by the launcher for finding the JDK/JRE to use. (JDK is recommended as some tasks require the
|
|
|
|
Java tools.) If not set, the launcher tries to find one via the <code>%PATH%</code> environment variable.
|
2012-05-26 12:14:49 +00:00
|
|
|
<b>PATH</b> is set for user convenience. With that set you can just start <i>ant</i> instead of always typing
|
2009-12-01 08:11:20 +00:00
|
|
|
<i>the/complete/path/to/your/ant/installation/bin/ant</i>.
|
2007-07-20 07:46:31 +00:00
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="optionalTasks">Optional Tasks</h3>
|
|
|
|
<p>
|
|
|
|
Ant supports a number of optional tasks. An optional task is a task which typically requires an external library to
|
|
|
|
function. The optional tasks are packaged together with the core Ant tasks.
|
|
|
|
</p>
|
2001-07-19 14:37:22 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
The external libraries required by each of the optional tasks is detailed in the <a href="#librarydependencies">Library
|
|
|
|
Dependencies</a> section. These external libraries must be added to Ant's classpath, in any of the following ways:
|
2006-04-30 22:41:33 +00:00
|
|
|
</p>
|
|
|
|
<ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>
|
|
|
|
<p>
|
|
|
|
In <code><i>ANT_HOME</i>/lib</code>. This makes the JAR files available to all Ant users and builds.
|
|
|
|
</p>
|
|
|
|
</li>
|
2007-01-23 16:59:06 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>
|
|
|
|
<p>
|
|
|
|
In <code>${user.home}/.ant/lib</code> (as of Ant 1.6). This allows different users to add new libraries to Ant. All JAR
|
|
|
|
files added to this directory are available to command-line Ant.
|
|
|
|
</p>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<p>
|
|
|
|
On the command line with a <code>-lib</code> parameter. This lets you add new JAR files on a case-by-case basis.
|
|
|
|
</p>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<p>
|
|
|
|
In the <code>CLASSPATH</code> environment variable. Avoid this; it makes the JAR files visible to <i>all</i> Java
|
|
|
|
applications, and causes no end of support calls. See <a href="#classpath">below</a> for details.
|
|
|
|
</p>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
|
|
<p>
|
|
|
|
In some <code><classpath></code> accepted by the task itself. For example, as of Ant 1.7.0 you can run
|
|
|
|
the <code><junit></code> task without <code>junit.jar</code> in Ant's own classpath, so long as it is included
|
|
|
|
(along with your program and tests) in the classpath passed when running the task.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Where possible, this option is generally to be preferred, as the Ant script itself can determine the best path to load
|
|
|
|
the library from: via relative path from the basedir (if you keep the library under version control with your project),
|
|
|
|
according to Ant properties, environment variables, Ivy downloads, whatever you like.
|
|
|
|
</p>
|
|
|
|
</li>
|
2006-04-30 22:41:33 +00:00
|
|
|
</ul>
|
|
|
|
|
2010-05-16 21:05:55 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
If you are using the binary distribution of Ant, or if you are working from source code, you can easily gather most of
|
|
|
|
the dependencies and install them for use with your Ant tasks. In your <code>ANT_HOME</code> directory you should see a
|
|
|
|
file called <code>fetch.xml</code>. This is an Ant script that you can run to install almost all the dependencies that
|
|
|
|
the optional Ant tasks need.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
To do so, change to the <code>ANT_HOME</code> directory and execute the command:
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<blockquote>
|
|
|
|
<pre>ant -f fetch.xml -Ddest=<i>[option]</i></pre>
|
2013-09-13 13:40:23 +00:00
|
|
|
</blockquote>
|
2010-05-16 21:05:55 +00:00
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
where option is one of the following, as described above:
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
2018-01-20 10:11:35 +01:00
|
|
|
<ul>
|
|
|
|
<li><code>system</code> - store in Ant's lib directory <i>(Recommended)</i></li>
|
|
|
|
<li><code>user</code> - store in the user's home directory</li>
|
|
|
|
<li><code>optional</code> - store in Ant's source code <code>lib/optional</code> directory, used when building Ant
|
|
|
|
source code</li>
|
|
|
|
</ul>
|
2010-05-16 21:05:55 +00:00
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
You may also need to set proxy settings. See the <a href="#proxy">Proxy Settings</a> section for details.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
Note that not all dependencies are gathered using <code>fetch.xml</code>. Tasks that depend on commercial software, in
|
|
|
|
particular, will require you to have the commercial software installed in order to be used.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
The Apache Ant Project also provides additional tasks and types that are available as separately downloaded Ant
|
|
|
|
Libraries. You can see the the list of available Antlibs at the <a href="http://ant.apache.org/antlibs/proper.html"
|
|
|
|
target="_top">Ant Libraries</a> page.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
You can also find tasks and types provided by third-party projects at the <a href="http://ant.apache.org/external.html"
|
|
|
|
target="_top">External Tools and Tasks</a> page.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
|
2006-04-30 22:41:33 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
IDEs have different ways of adding external JAR files and third-party tasks to Ant. Usually it is done by some
|
|
|
|
configuration dialog. Sometimes JAR files added to a project are automatically added to Ant's classpath.
|
2005-12-24 19:48:03 +00:00
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="classpath">The <code>CLASSPATH</code> environment variable</h3>
|
2005-12-24 19:48:03 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
The <code>CLASSPATH</code> environment variable is a source of many Ant support queries. As the round trip time for
|
|
|
|
diagnosis on the Ant user mailing list can be slow, and because filing bug reports complaining about 'ant.bat' not
|
|
|
|
working will be rejected by the developers as WORKSFORME "this is a configuration problem, not a bug", you can save
|
|
|
|
yourself a lot of time and frustration by following some simple steps.
|
2005-12-24 19:48:03 +00:00
|
|
|
</p>
|
|
|
|
<ol>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Do not ever set <code>CLASSPATH</code>. Ant does not need it, it only causes confusion and breaks things.</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>If you ignore the previous rule, do not ever, ever, put quotes in the <code>CLASSPATH</code>, even if there is a
|
|
|
|
space in a directory. This will break Ant, and it is not needed.</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>If you ignore the first rule, do not ever, ever, have a trailing backslash in a <code>CLASSPATH</code>, as it breaks
|
|
|
|
Ant's ability to quote the string. Again, this is not needed for the correct operation of the <code>CLASSPATH</code>
|
|
|
|
environment variable, even if a DOS directory is to be added to the path.</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>You can stop Ant using the <code>CLASSPATH</code> environment variable by setting the <code>-noclasspath</code>
|
|
|
|
option on the command line. This is an easy way to test for classpath-related problems.</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
</ol>
|
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
The usual symptom of <code>CLASSPATH</code> problems is that ant will not run with some error about not being able to
|
|
|
|
find <code>org.apache.tools.ant.launch.Launcher</code>, or, if you have got the quotes/backslashes wrong, some very
|
|
|
|
weird Java startup error. To see if this is the case, run <code>ant -noclasspath</code> or unset
|
|
|
|
the <code>CLASSPATH</code> environment variable.
|
2005-12-24 19:48:03 +00:00
|
|
|
</p>
|
|
|
|
|
2007-01-24 12:22:40 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
You can also make your Ant script reject this environment variable just by placing the following at the top of the
|
|
|
|
script (or in an init target):
|
2007-01-24 12:22:40 +00:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
<property environment="env."/>
|
|
|
|
<property name="env.CLASSPATH" value=""/>
|
|
|
|
<fail message="Unset $CLASSPATH / %CLASSPATH% before running Ant!">
|
|
|
|
<condition>
|
|
|
|
<not>
|
|
|
|
<equals arg1="${env.CLASSPATH}" arg2=""/>
|
|
|
|
</not>
|
|
|
|
</condition>
|
|
|
|
</fail>
|
|
|
|
</pre>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="proxy">Proxy Configuration</h3>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
Many Ant built-in and third-party tasks use network connections to retrieve files from HTTP servers. If you are behind a
|
|
|
|
firewall with a proxy server, then Ant needs to be configured with the proxy. Here are the different ways to do
|
|
|
|
this.
|
|
|
|
</p>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
|
|
|
<ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li><b>With Java 5 or above</b><br/>
|
2010-05-16 21:05:55 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
When you run Ant on Java 5 or above, you could try to use the automatic proxy setup mechanism
|
|
|
|
with <code>-autoproxy</code>.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
2005-12-24 19:48:03 +00:00
|
|
|
</li>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li><b>With explicit JVM properties.</b><br/>
|
2010-05-16 21:05:55 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
These are documented in <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html"
|
|
|
|
target="_top">Java's Networking Properties</a>, and control the proxy behaviour of the entire JVM. To set them in Ant,
|
|
|
|
declare them in the <code>ANT_OPTS</code> environment variable. This is the best option for a non-mobile system. For a
|
|
|
|
laptop, you have to change these settings as you roam. To set <code>ANT_OPTS</code>:
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
<blockquote>
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
For csh/tcsh:
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
setenv ANT_OPTS "-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
|
|
|
|
</pre>
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
For bash:
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"
|
|
|
|
</pre>
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
For Windows, set the environment variable in the appropriate dialog box and open a new console or, by hand
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
set ANT_OPTS = -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080
|
|
|
|
</pre>
|
|
|
|
</blockquote>
|
2005-12-24 19:48:03 +00:00
|
|
|
</li>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li><b>In the build file itself</b><br/>
|
2010-05-16 21:05:55 +00:00
|
|
|
<p>
|
|
|
|
If you are writing a build file that is always to be used behind the firewall,
|
2018-01-20 10:11:35 +01:00
|
|
|
the <a href="Tasks/setproxy.html">setproxy</a> task lets you configure the proxy (which it does by setting the JVM
|
|
|
|
properties). If you do this, we strongly recommend using ant properties to define the proxy host, port, etc, so that
|
|
|
|
individuals can override the defaults.
|
2010-05-16 21:05:55 +00:00
|
|
|
</p>
|
2018-01-20 10:11:35 +01:00
|
|
|
</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
</ul>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
The Ant team acknowledges that this is unsatisfactory. Until the JVM automatic proxy setup works properly everywhere,
|
|
|
|
explicit JVM options via <code>ANT_ARGS</code> are probably the best solution. Setting properties on Ant's command line
|
|
|
|
do not work, because those are <i>Ant properties</i> being set, not JVM options. This means the following does not set
|
|
|
|
up the command line:
|
2001-07-19 14:37:22 +00:00
|
|
|
</p>
|
|
|
|
|
2005-12-24 19:48:03 +00:00
|
|
|
<pre>ant -Dhttp.proxyHost=proxy -Dhttp.proxyPort=81</pre>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
All it does is set up two Ant properties.
|
|
|
|
</p>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
One other trouble spot with proxies is with authenticating proxies. Ant cannot go beyond what the JVM does here, and as
|
|
|
|
it is very hard to remotely diagnose, test and fix proxy-related problems, users who work behind a secure proxy will
|
|
|
|
have to spend much time configuring the JVM properties until they are happy.
|
|
|
|
</p>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="windows">Windows and OS/2</h3>
|
2001-02-13 12:32:01 +00:00
|
|
|
<p>Assume Ant is installed in <code>c:\ant\</code>. The following sets up the
|
|
|
|
environment:</p>
|
|
|
|
<pre>set ANT_HOME=c:\ant
|
2013-09-13 13:40:23 +00:00
|
|
|
set JAVA_HOME=c:\jdk1.7.0_51
|
2001-02-13 12:32:01 +00:00
|
|
|
set PATH=%PATH%;%ANT_HOME%\bin</pre>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="bash">Linux/Unix (bash)</h3>
|
2001-02-13 12:32:01 +00:00
|
|
|
<p>Assume Ant is installed in <code>/usr/local/ant</code>. The following sets up
|
|
|
|
the environment:</p>
|
|
|
|
<pre>export ANT_HOME=/usr/local/ant
|
2013-09-13 13:40:23 +00:00
|
|
|
export JAVA_HOME=/usr/local/jdk1.7.0_51
|
2001-02-13 12:32:01 +00:00
|
|
|
export PATH=${PATH}:${ANT_HOME}/bin</pre>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="tcshcsh">Linux/Unix (csh)</h3>
|
2001-10-04 13:47:09 +00:00
|
|
|
<pre>setenv ANT_HOME /usr/local/ant
|
2013-09-13 13:40:23 +00:00
|
|
|
setenv JAVA_HOME /usr/local/jdk/jdk1.7.0_51
|
2001-10-04 13:47:09 +00:00
|
|
|
set path=( $path $ANT_HOME/bin )</pre>
|
|
|
|
|
2005-12-24 19:48:03 +00:00
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
Having a symbolic link set up to point to the JVM/JDK version makes updates more seamless.
|
|
|
|
</p>
|
|
|
|
<h3 id="jpackage">RPM version from jpackage.org</h3>
|
|
|
|
<p>
|
|
|
|
The <a href="http://www.jpackage.org" target="_top">JPackage project</a> distributes an RPM version of Ant. With this
|
|
|
|
version, it is not necessary to set <code> JAVA_HOME</code> or <code>ANT_HOME</code> environment variables and the RPM
|
|
|
|
installer will correctly place the Ant executable on your path.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>NOTE:</b> <i>Since Ant 1.7.0</i>, if the <code>ANT_HOME</code> environment variable is set, the JPackage
|
|
|
|
distribution will be ignored.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Optional JARs for the JPackage version are handled in two ways. The easiest, and best way is to get these external
|
|
|
|
libraries from JPackage if JPackage has them available. (Note: for each such library, you will have to get both the
|
|
|
|
external package itself (e.g. <code>oro-2.0.8-2jpp.noarch.rpm</code>) and the small library that links Ant and the
|
|
|
|
external package (e.g. <code>ant-apache-oro-1.6.2-3jpp.noarch.rpm</code>).
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
However, JPackage does not package proprietary software, and since some of the optional packages depend on proprietary
|
|
|
|
JARs, they must be handled as follows. This may violate the spirit of JPackage, but it is necessary if you need these
|
|
|
|
proprietary packages. For example, suppose you want to install support for NetRexx, which JPackage does not support:
|
|
|
|
</p>
|
|
|
|
|
2005-05-26 23:16:35 +00:00
|
|
|
<ol>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Decide where you want to deploy the extra JARs. One option is in <code>$ANT_HOME/lib</code>, which, for JPackage is
|
|
|
|
usually <code>/usr/share/ant/lib</code>. Another, less messy option is to create an <code>.ant/lib</code> subdirectory
|
|
|
|
of your home directory and place your non-JPackage Ant JARs there, thereby avoiding mixing JPackage libraries with
|
|
|
|
non-JPackage stuff in the same folder. More information on where Ant finds its libraries is
|
|
|
|
available <a href="http://ant.apache.org/manual/running.html#libs">here</a></li>
|
|
|
|
<li>Download a non-JPackage binary distribution from the regular <a href="http://ant.apache.org/bindownload.cgi"
|
|
|
|
target="_top">Apache Ant site</a></li>
|
2005-05-26 23:16:35 +00:00
|
|
|
<li>Unzip or untar the distribution into a temporary directory</li>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Copy the linking JAR, in this case <code>ant-jai.jar</code>, into the library directory you chose in step 1
|
|
|
|
above.</li>
|
|
|
|
<li>Copy the proprietary JAR itself into the same directory.</li>
|
2005-05-26 23:16:35 +00:00
|
|
|
</ol>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
Finally, if for some reason you are running on a system with both the JPackage and Apache versions of Ant available, if
|
|
|
|
you should want to run the Apache version (which will have to be specified with an absolute file name, not found on the
|
|
|
|
path), you should use Ant's <code>--noconfig</code> command-line switch to avoid JPackage's classpath mechanism.
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="advanced">Advanced</h3>
|
|
|
|
|
|
|
|
<p>There are many different ways to run Ant. What you need is at least the following:</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
|
|
|
<ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>The classpath for Ant must contain <code>ant.jar</code> and any JARs/classes needed for your chosen JAXP-compliant
|
|
|
|
XML parser.</li>
|
|
|
|
<li>When you need JDK functionality (such as for the <a href="Tasks/javac.html">javac</a> task or
|
|
|
|
the <a href="Tasks/rmic.html">rmic</a> task), then <code>tools.jar</code> must be added. The scripts supplied with Ant,
|
|
|
|
in the <code>bin</code> directory, will add the required JDK classes automatically, if the <code>JAVA_HOME</code>
|
2001-02-13 12:32:01 +00:00
|
|
|
environment variable is set.</li>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>When you are executing platform-specific applications, such as the <a href="Tasks/exec.html">exec</a> task or
|
|
|
|
the <a href="Tasks/cvs.html">cvs</a> task, the property <code>ant.home</code> must be set to the directory containing
|
|
|
|
where you installed Ant. Again this is set by the Ant scripts to the value of the <code>ANT_HOME</code> environment
|
2001-02-13 12:32:01 +00:00
|
|
|
variable.</li>
|
|
|
|
</ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
|
|
|
|
The supplied Ant shell scripts all support an <code>ANT_OPTS</code> environment variable which can be used to supply
|
|
|
|
extra options to Ant. Some of the scripts also read in an extra script stored in the users home directory, which can be
|
|
|
|
used to set such options. Look at the source for your platform's invocation script for details.
|
|
|
|
|
|
|
|
<hr/>
|
|
|
|
<h2 id="buildingant">Building Ant</h2>
|
|
|
|
<p>
|
|
|
|
To build Ant from source, you can either install the Ant source distribution or clone the Ant repository from Git. See
|
|
|
|
<a href="#sourceEdition">Source Distribution</a> for details.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Once you have installed the source, change into the installation directory.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
Set the <code>JAVA_HOME</code> environment variable to the directory where the JDK is
|
|
|
|
installed. See <a href="#installing">Installing Ant</a> for examples on how to do this for your operating system.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
<b>Note</b>: The bootstrap process of Ant requires a greedy compiler like OpenJDK or Oracle's javac. It does not work
|
|
|
|
with gcj or kjc.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
Make sure you have downloaded any auxiliary JARs required to build tasks you are interested in. These should be added to
|
|
|
|
the <code>lib/optional</code> directory of the source tree. See <a href="#librarydependencies">Library Dependencies</a>
|
|
|
|
for a list of JAR requirements for various features. Note that this will make the auxiliary JAR available for the
|
|
|
|
building of Ant only. For running Ant you will still need to make the JARs available as described
|
|
|
|
under <a href="#installing">Installing Ant</a>.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
You can also get most of the auxiliary JAR files (i.e. the JAR files that various optional Ant tasks depend on) by
|
|
|
|
running Ant on the <code>fetch.xml</code> build file. See <a href="#optionalTasks">Optional Tasks</a> for instructions
|
|
|
|
on how to do this.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
As of version 1.7.0 Ant has a hard dependency on JUnit. The <code>fetch.xml</code> build script will download JUnit
|
|
|
|
automatically, but if you don't use this you must install it manually into <code>lib/optional</code> (download it
|
|
|
|
from <a href="http://junit.org/" target="_top">JUnit.org</a>) if you are using a source distribution of Ant.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
Your are now ready to build Ant:
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
<blockquote>
|
|
|
|
<p><code>build -Ddist.dir=<<i>directory_to_contain_Ant_distribution</i>> dist</code> (<i>Windows</i>)</p>
|
2006-04-30 22:41:33 +00:00
|
|
|
<p><code>sh build.sh -Ddist.dir=<<i>directory_to_contain_Ant_distribution</i>> dist</code> (<i>Unix</i>)</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
</blockquote>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
This will create a binary distribution of Ant in the directory you specified.
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
The above action does the following:
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
<ul>
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>If necessary it will bootstrap the Ant code. Bootstrapping involves the manual compilation of enough Ant code to be
|
|
|
|
able to run Ant. The bootstrapped Ant is used for the remainder of the build steps.</li>
|
|
|
|
<li>Invokes the bootstrapped Ant with the parameters passed to the build script. In this case, these parameters define
|
|
|
|
an Ant property value and specify the "dist" target in Ant's own <code>build.xml</code> file.</li>
|
|
|
|
<li>Create the <code>ant.jar</code> and <code>ant-launcher.jar</code> JAR files</li>
|
|
|
|
<li>Create optional JARs for which the build had the relevant libraries. If a particular library is missing
|
|
|
|
from <code>lib/optional</code>, then the matching ant-library JAR file will not be created. For
|
|
|
|
example, <code>ant-junit.jar</code> is only built if there is a <code>junit.jar</code> in the <code>lib/optional</code>
|
|
|
|
directory.</li>
|
2001-02-13 12:32:01 +00:00
|
|
|
</ul>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
On most occasions you will not need to explicitly bootstrap Ant since the build scripts do that for you. However, if the
|
|
|
|
build file you are using makes use of features not yet compiled into the bootstrapped Ant, you will need to manually
|
|
|
|
bootstrap. Run <code>bootstrap.bat</code> (Windows) or <code>bootstrap.sh</code> (UNIX) to build a new bootstrap version
|
|
|
|
of Ant.
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
|
|
|
If you wish to install the build into the current <code>ANT_HOME</code>
|
|
|
|
directory, you can use:
|
|
|
|
<blockquote>
|
|
|
|
<p><code>build install</code> (<i>Windows</i>)</p>
|
2006-04-30 22:41:33 +00:00
|
|
|
<p><code>sh build.sh install</code> (<i>Unix</i>)</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
</blockquote>
|
|
|
|
|
|
|
|
You can avoid the lengthy Javadoc step, if desired, with:
|
|
|
|
<blockquote>
|
|
|
|
<p><code>build install-lite</code> (<i>Windows</i>)</p>
|
2006-04-30 22:41:33 +00:00
|
|
|
<p><code>sh build.sh install-lite</code> (<i>Unix</i>)</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
</blockquote>
|
2003-02-19 09:23:20 +00:00
|
|
|
This will only install the <code>bin</code> and <code>lib</code> directories.
|
2018-01-20 10:11:35 +01:00
|
|
|
|
|
|
|
<p>
|
|
|
|
Both the <code>install</code> and <code>install-lite</code> targets will overwrite the current Ant version
|
|
|
|
in <code>ANT_HOME</code>.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
Ant's build script will try to set executable flags for its shell scripts on Unix-like systems. There are various
|
|
|
|
reasons why the <a href="Tasks/chmod.html">chmod</a> task might fail (like when you are running the build script as a
|
|
|
|
different user than the one who installed Ant initially). In this case you can set the Ant
|
|
|
|
property <code>chmod.fail</code> to false when starting the build like in
|
|
|
|
</p>
|
2009-08-18 11:35:11 +00:00
|
|
|
<blockquote>
|
|
|
|
<p><code>sh build.sh install -Dchmod.fail=false</code></p>
|
|
|
|
</blockquote>
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
and any error to change permission will not result in a build failure.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<hr/>
|
|
|
|
<h2 id="librarydependencies">Library Dependencies</h2>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
The following libraries are needed in Ant's classpath if you are using the indicated feature. Note that only one of the
|
|
|
|
regexp libraries is needed for use with the mappers (and Java includes a regexp implementation which Ant will find
|
|
|
|
automatically). You will also need to install the particular Ant optional JAR containing the task definitions to make
|
|
|
|
these tasks available. Please refer to the <a href="#optionalTasks"> Installing Ant / Optional Tasks</a> section above.
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
|
|
|
<table border="1" cellpadding="2" cellspacing="0">
|
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><b>JAR Name</b></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
<td><b>Needed For</b></td>
|
|
|
|
<td><b>Available At</b></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>jakarta-regexp-1.4.jar</td>
|
|
|
|
<td><a href="Types/mapper.html#regexp-mapper">regexp</a> type with mappers (if you do not wish to use
|
|
|
|
java.util.regex)</td>
|
|
|
|
<td><a href="https://attic.apache.org/projects/jakarta-regexp.html"
|
|
|
|
target="_top">https://attic.apache.org/projects/jakarta-regexp.html</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2006-10-20 11:08:28 +00:00
|
|
|
<td>jakarta-oro-2.0.8.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Types/mapper.html#regexp-mapper">regexp</a> type with mappers (if you do not wish to use
|
|
|
|
java.util.regex) or <a href="Tasks/ftp.html">ftp</a> task with <a href="#commons-net">commons-net</a> 1.4.1</td>
|
|
|
|
<td><a href="https://attic.apache.org/projects/jakarta-oro.html"
|
|
|
|
target="_top">https://attic.apache.org/projects/jakarta-oro.html</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>junit.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/junit.html">junit</a> task (may be in classpath passed to task rather than Ant's classpath)</td>
|
|
|
|
<td><a href="http://junit.org/" target="_top">http://junit.org/</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
2002-03-13 17:02:35 +00:00
|
|
|
<tr>
|
2002-06-22 23:38:38 +00:00
|
|
|
<td>xalan.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/junitreport.html">junitreport</a> task</td>
|
|
|
|
<td><a href="https://xml.apache.org/xalan-j/" target="_top">https://xml.apache.org/xalan-j/</a></td>
|
2002-03-13 17:02:35 +00:00
|
|
|
</tr>
|
2001-02-13 12:32:01 +00:00
|
|
|
<tr>
|
|
|
|
<td>antlr.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/antlr.html">antlr</a> task</td>
|
2003-09-03 07:58:04 +00:00
|
|
|
<td><a href="http://www.antlr.org/" target="_top">http://www.antlr.org/</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2006-12-09 15:28:19 +00:00
|
|
|
<td>bsf.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/script.html">script</a> task<br/>
|
|
|
|
<strong>Note</strong>: Ant 1.6 and later require Apache BSF 2.3.0 or later.<br/>
|
|
|
|
<strong>Note</strong>: BSF 2.4.0 is needed to use a 1.5R4 or later versions of Rhino JavaScript.<br/>
|
|
|
|
<strong>Note</strong>: BSF 2.4.0 uses Commons Logging so it needs the commons-logging.jar.
|
|
|
|
</td>
|
|
|
|
<td><a href="https://commons.apache.org/bsf/" target="_top">https://commons.apache.org/bsf/</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
2004-09-15 12:41:01 +00:00
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>Groovy JARs</td>
|
|
|
|
<td>Groovy Ant tasks with bindings or Groovy with <a href="Tasks/script.html">script</a>
|
|
|
|
and <a href="Tasks/scriptdef.html">scriptdef</a> tasks</td>
|
2004-09-15 12:41:01 +00:00
|
|
|
<td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<a href="http://groovy-lang.org/" target="_top">http://groovy-lang.org/</a><br/>
|
|
|
|
Use either groovy-ant for Groovy Ant tasks with bindings or groovy-bsf for Groovy with script and scriptdef tasks
|
|
|
|
(or groovy-all)
|
2004-09-15 12:41:01 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
2001-02-13 12:32:01 +00:00
|
|
|
<tr>
|
|
|
|
<td>netrexx.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/netrexxc.html">netrexxc</a> task, Rexx with <a href="Tasks/script.html">script</a> task</td>
|
|
|
|
<td><a href="https://www.ibm.com/software/awdtools/netrexx/library.html"
|
|
|
|
target="_top">https://www.ibm.com/software/awdtools/netrexx/library.html</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>rhino.jar<br/>
|
|
|
|
(included in Java 7 runtime, replaced by Nashorn in Java 8 and later)</td>
|
|
|
|
<td>JavaScript with <a href="Tasks/script.html">script</a> task<br/>
|
|
|
|
<strong>Note:</strong> Apache BSF 2.4.0 works only with Rhino 1.5R4 and later versions.</td>
|
|
|
|
<td><a href="https://www.mozilla.org/rhino/" target="_top">https://www.mozilla.org/rhino/</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
2002-11-14 07:48:25 +00:00
|
|
|
<tr>
|
|
|
|
<td>jython.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>Python with <a href="Tasks/script.html">script</a> task</td>
|
|
|
|
<td><a href="http://www.jython.org/" target="_top">http://www.jython.org/</a></td>
|
2002-11-14 07:48:25 +00:00
|
|
|
</tr>
|
2001-02-13 12:32:01 +00:00
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>jacl.jar and tcljava.jar</td>
|
|
|
|
<td>TCL with <a href="Tasks/script.html">script</a> task</td>
|
|
|
|
<td><a href="http://tcljava.sourceforge.net" target="_top">http://tcljava.sourceforge.net/</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
2001-11-30 11:23:24 +00:00
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>jtcl.jar</td>
|
|
|
|
<td>TCL with <a href="Tasks/script.html">script</a> task</td>
|
|
|
|
<td><a href="https://jtcl-project.github.io/jtcl/" target="_top">https://jtcl-project.github.io/jtcl/</a></td>
|
2001-11-30 11:23:24 +00:00
|
|
|
</tr>
|
2002-06-01 12:26:43 +00:00
|
|
|
<tr>
|
|
|
|
<td>BeanShell JAR(s)</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>BeanShell with <a href="Tasks/script.html">script</a> task.<br/>
|
|
|
|
<strong>Note</strong>: Ant requires BeanShell version 1.3 or later</td>
|
2003-09-03 07:58:04 +00:00
|
|
|
<td><a href="http://www.beanshell.org/" target="_top">http://www.beanshell.org/</a></td>
|
2002-06-01 12:26:43 +00:00
|
|
|
</tr>
|
2002-11-14 07:48:25 +00:00
|
|
|
<tr>
|
|
|
|
<td>jruby.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>Ruby with <a href="Tasks/script.html">script</a> task</td>
|
2011-08-15 04:58:45 +00:00
|
|
|
<td><a href="http://jruby.org/" target="_top">http://jruby.org/</a></td>
|
2002-11-14 07:48:25 +00:00
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>judo.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>Judo language with <a href="Tasks/script.html">script</a> task</td>
|
2010-09-16 08:56:05 +00:00
|
|
|
<td><a href="http://www.judoscript.org/" target="_top">http://www.judoscript.org/</a></td>
|
2002-11-14 07:48:25 +00:00
|
|
|
</tr>
|
2003-07-17 22:43:20 +00:00
|
|
|
<tr>
|
|
|
|
<td>commons-logging.jar</td>
|
|
|
|
<td>CommonsLoggingListener</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="https://commons.apache.org/logging/" target="_top">https://commons.apache.org/logging/</a></td>
|
2003-07-17 22:43:20 +00:00
|
|
|
</tr>
|
2003-07-17 23:06:36 +00:00
|
|
|
<tr>
|
|
|
|
<td>log4j.jar</td>
|
|
|
|
<td>Log4jListener</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="https://logging.apache.org/log4j/" target="_top">https://logging.apache.org/log4j/</a></td>
|
2003-07-17 23:06:36 +00:00
|
|
|
</tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<tr id="commons-net">
|
|
|
|
<td>commons-net.jar</td>
|
|
|
|
<td><a href="Tasks/ftp.html">ftp</a>, <a href="Tasks/rexec.html">rexec</a>
|
|
|
|
and <a href="Tasks/telnet.html">telnet</a> tasks<br/>
|
|
|
|
A minimum version of commons-net of 1.4.0 is needed to compile Ant, earlier versions did not support the full range
|
|
|
|
of configuration options.<br/>
|
|
|
|
jakarta-oro 2.0.8 is required together with commons-net 1.4.x at run time.<br/>
|
|
|
|
<strong>Note</strong>: do not use commons-net 3.2 because
|
|
|
|
of <a href="https://issues.apache.org/jira/browse/NET-493">performance issues</a>
|
2004-02-06 15:19:56 +00:00
|
|
|
</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="https://commons.apache.org/net/" target="_top">https://commons.apache.org/net/</a></td>
|
2001-02-13 12:32:01 +00:00
|
|
|
</tr>
|
2001-12-05 08:52:56 +00:00
|
|
|
<tr>
|
|
|
|
<td>bcel.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Types/classfileset.html">classfileset</a> data type, JavaClassHelper used by the ClassConstants filter
|
|
|
|
reader and optionally used by <a href="Tasks/ejb.html#ejbjar">ejbjar</a> task for dependency determination</td>
|
|
|
|
<td><a href="https://commons.apache.org/bcel/" target="_top">https://commons.apache.org/bcel/</a></td>
|
2001-12-05 08:52:56 +00:00
|
|
|
</tr>
|
2001-12-24 03:21:05 +00:00
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>javax.mail-api.jar</td>
|
|
|
|
<td><a href="Tasks/mail.html">mail</a> task with MIME encoding,
|
|
|
|
and <i>deprecated</i> <a href="Tasks/mimemail.html">mimemail</a> task</td>
|
|
|
|
<td><a href="https://javaee.github.io/javamail/"
|
|
|
|
target="_top">https://javaee.github.io/javamail/</a></td>
|
2003-06-04 07:08:50 +00:00
|
|
|
</tr>
|
2001-12-24 03:21:05 +00:00
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>activation.jar<br/>
|
|
|
|
(included in Java 6 and later runtime)</td>
|
|
|
|
<td><a href="Tasks/mail.html">mail</a> task with MIME encoding,
|
|
|
|
and <i>deprecated</i> <a href="Tasks/mimemail.html">mimemail</a> task</td>
|
2010-08-25 11:37:38 +00:00
|
|
|
<td><a href="http://www.oracle.com/technetwork/java/javase/jaf-135115.html"
|
|
|
|
target="_top">http://www.oracle.com/technetwork/java/javase/jaf-135115.html</a></td>
|
2002-03-07 03:13:04 +00:00
|
|
|
</tr>
|
2002-02-22 15:38:03 +00:00
|
|
|
<tr>
|
|
|
|
<td>jdepend.jar</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/jdepend.html">jdepend</a> task</td>
|
|
|
|
<td><a href="https://github.com/clarkware/jdepend"
|
|
|
|
target="_top">https://github.com/clarkware/jdepend</a></td>
|
2002-03-07 03:13:04 +00:00
|
|
|
</tr>
|
2002-11-05 16:33:29 +00:00
|
|
|
<tr>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td>resolver.jar <b>1.1 or later</b></td>
|
|
|
|
<td><a href="Types/xmlcatalog.html">xmlcatalog</a> datatype <i>only if support for external catalog files is
|
|
|
|
desired</i></td>
|
|
|
|
<td><a href="https://xerces.apache.org/xml-commons/components/resolver/"
|
|
|
|
target="_top">https://xerces.apache.org/xml-commons/components/resolver/</a></td>
|
2002-11-05 16:33:29 +00:00
|
|
|
</tr>
|
2003-03-06 12:42:44 +00:00
|
|
|
<tr>
|
2017-11-05 08:12:56 +05:30
|
|
|
<td>jsch.jar <b>0.1.54 or later</b></td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/sshexec.html">sshexec</a> and <a href="Tasks/scp.html">scp</a> tasks</td>
|
|
|
|
<td><a href="http://www.jcraft.com/jsch/" target="_top">http://www.jcraft.com/jsch/</a></td>
|
2003-03-06 12:42:44 +00:00
|
|
|
</tr>
|
2003-04-16 12:44:44 +00:00
|
|
|
<tr>
|
2005-02-03 22:31:48 +00:00
|
|
|
<td>JAI - Java Advanced Imaging</td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/image.html">image</a> task</td>
|
|
|
|
<td><a href="https://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html"
|
|
|
|
target="_top">https://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html</a></td>
|
2003-04-16 12:44:44 +00:00
|
|
|
</tr>
|
2017-01-12 17:19:15 +01:00
|
|
|
<tr>
|
|
|
|
<td>XZ - XZ for Java <b>1.6 or later</b></td>
|
2018-01-20 10:11:35 +01:00
|
|
|
<td><a href="Tasks/pack.html">xz</a> and <a href="Tasks/unpack.html">unxz</a>
|
|
|
|
tasks, <a href="Types/resources.html#xzresource">xzresource</a>, xz compression
|
|
|
|
in <a href="Tasks/tar.html">tar</a>/<a href="Tasks/unzip.html">untar</a> tasks</td>
|
|
|
|
<td><a href="https://www.tukaani.org/xz/java.html" target="_top">https://www.tukaani.org/xz/java.html</a></td>
|
2017-01-12 17:19:15 +01:00
|
|
|
</tr>
|
2001-02-13 12:32:01 +00:00
|
|
|
</table>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h2 id="Troubleshooting">Troubleshooting</h2>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="diagnostics">Diagnostics</h3>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
Ant has a built in diagnostics feature. If you run <code>ant -diagnostics</code> ant will look at its internal state and
|
|
|
|
print it out. This code will check and print the following things.
|
|
|
|
</p>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
2006-12-19 08:02:06 +00:00
|
|
|
<li>Where Ant is running from. Sometimes you can be surprised.</li>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>The version of ant.jar and of the ant-*.jar containing the optional tasks - and whether they match</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Which JAR files are in <code>ANT_HOME/lib</code></li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>Which optional tasks are available. If a task is not listed as being available, either it is not present, or
|
|
|
|
libraries that it depends on are absent.</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
|
|
|
<li>XML Parser information</li>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>JVM system properties</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>The status of the temp directory. If this is not writable, or its clock is horribly wrong (possible if it is on a
|
|
|
|
network drive), a lot of tasks will fail with obscure error messages.</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<li>The current time zone as Java sees it. If this is not what it should be for your location, then dependency logic may
|
|
|
|
get confused.</li>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
Running <code>ant -diagnostics</code> is a good way to check that Ant is installed. It is also a first step towards
|
|
|
|
self-diagnosis of any problem. Any configuration problem reported to the user mailing list will probably result ins
|
|
|
|
someone asking you to run the command and show the results, so save time by using it yourself.
|
2005-12-24 19:48:03 +00:00
|
|
|
</p>
|
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
For diagnostics from within IDE, use the <a href="Tasks/diagnostics.html">diagnostics</a> task to run the same tests as
|
|
|
|
an Ant option. This can be added to a diagnostics target in a build file to see what tasks are available under the IDE,
|
|
|
|
what the XML parser and classpath is, etc.
|
2005-12-24 19:48:03 +00:00
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<h3 id="ant-user">user mailing list</h3>
|
2005-12-24 19:48:03 +00:00
|
|
|
|
|
|
|
<p>
|
2018-01-20 10:11:35 +01:00
|
|
|
If you cannot get Ant installed or working, the Ant user mailing list is the best place to start with any
|
|
|
|
problem. Please do your homework first, make sure that it is not a <a href="#classpath"><code>CLASSPATH</code></a>
|
|
|
|
problem, and run a <a href="#diagnostics">diagnostics check</a> to see what Ant thinks of its own state. Why the user
|
|
|
|
list, and not the developer list? Because there are more users than developers, so more people who can help you.
|
2005-12-24 19:48:03 +00:00
|
|
|
</p>
|
|
|
|
|
2018-01-20 10:11:35 +01:00
|
|
|
<p>
|
|
|
|
Please only file a bug report against Ant for a configuration/startup problem if there really is a fixable bug in Ant
|
|
|
|
related to configuration, such as it not working on a particular platform, with a certain JVM version, etc, or if you
|
|
|
|
are advised to do it by the user mailing list.
|
|
|
|
</p>
|
2001-02-13 12:32:01 +00:00
|
|
|
|
|
|
|
</body>
|
2007-01-08 04:47:04 +00:00
|
|
|
</html>
|