@@ -436,7 +436,7 @@
</td></tr>
</table>
<p>
<a name="latest-version">
<a name="latest-version"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -447,12 +447,9 @@
</font>
</td></tr>
</table>
<p>
<p>The latest version can always be found at Ant's homepage
<a href="http://jakarta.apache.org/ant/faq.html">http://jakarta.apache.org/ant/faq.html</a>.</p>
</p>
</a>
<a name="adding-faqs">
<a name="adding-faqs"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -462,7 +459,6 @@
</font>
</td></tr>
</table>
<p>
<p>The page you are looking it is generated from
<a href="http://cvs.apache.org/viewcvs.cgi/~checkout~/jakarta-ant/xdocs/faq.xml">this</a>
document. If you want to add a new question, please submit
@@ -471,9 +467,7 @@
<p>If you don't know how to create a patch, see the patches
section of <a href="http://jakarta.apache.org/site/source.html">this
page</a>.</p>
</p>
</a>
<a name="creating-faq">
<a name="creating-faq"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -484,7 +478,6 @@
</font>
</td></tr>
</table>
<p>
<p>We use
<a href="http://jakarta.apache.org/velocity/anakia.html">Anakia</a>
to render the HTML version from the original XML file.</p>
@@ -496,9 +489,7 @@
well, but if you follow the instruction from Anakia's
homepage, you should get it to work without that. Just make
sure all required jars are in the task's classpath.</p>
</p>
</a>
<a name="what-is-ant">
<a name="what-is-ant"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -508,13 +499,10 @@
</font>
</td></tr>
</table>
<p>
<p> Ant is a Java-based build tool. In theory, it is kind of
like Make, without Make's wrinkles and with the full
portability of pure Java code.</p>
</p>
</a>
<a name="ant-name">
<a name="ant-name"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -524,7 +512,6 @@
</font>
</td></tr>
</table>
<p>
<p>According to Ant's original author, James Duncan
Davidson, the name is an acronym for "Another Neat
Tool".</p>
@@ -533,9 +520,7 @@
"ants are very small and can carry a weight dozens of times
their own" - describing what Ant is intended to
be.</p>
</p>
</a>
<a name="history">
<a name="history"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -545,7 +530,6 @@
</font>
</td></tr>
</table>
<p>
<p>Initially, Ant was part of the Tomcat code base, when it was
donated to the Apache Software Foundation. It was
created by James Duncan Davidson, who is also the original
@@ -648,9 +632,7 @@
</td>
</tr>
</table>
</p>
</a>
<a name="no-gnu-tar">
<a name="no-gnu-tar"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -661,7 +643,6 @@
</font>
</td></tr>
</table>
<p>
<p>Ant's distribution contains file names that are longer
than 100 characters, which is not supported by the standard
tar file format. Several different implementations of tar use
@@ -676,9 +657,7 @@
found <a href="http://www.gnu.org/software/tar/tar.html">here</a>,
or use the zip archive instead (you can extract it using
<code>jar xf</code>).</p>
</p>
</a>
<a name="adding-external-tasks">
<a name="adding-external-tasks"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -689,7 +668,6 @@
</font>
</td></tr>
</table>
<p>
<p>Join and post a message to the ant-dev or ant-user mailing
list (one list is enough), including the following
information:</p>
@@ -710,9 +688,7 @@
</ul>
<p>The preferred format for this information is a patch to <a href="http://cvs.apache.org/viewcvs.cgi/~checkout~/jakarta-ant/xdocs/external.xml">this</a>
document.</p>
</p>
</a>
<a name="passing-cli-args">
<a name="passing-cli-args"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -723,16 +699,13 @@
</font>
</td></tr>
</table>
<p>
<p>Use properties. Using <code>ant
-D<em>name</em>=<em>value</em></code> lets you define values for
properties on the Ant command line. These properties can then be
used within your build file as
any normal property: <code>${<em>name</em>}</code> will put in
<code><em>value</em></code>.</p>
</p>
</a>
<a name="jikes-switches">
<a name="jikes-switches"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -743,7 +716,6 @@
</font>
</td></tr>
</table>
<p>
<p>A couple of switches are supported via "magic"
properties:</p>
<table class="ForrestTable" cellspacing="1" cellpadding="4">
@@ -824,9 +796,7 @@
<p>With Ant >= 1.5, you can also use nested
<code><compilerarg></code> elements with the
<code><javac></code> task.</p>
</p>
</a>
<a name="shell-redirect-1">
<a name="shell-redirect-1"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -836,14 +806,11 @@
</font>
</td></tr>
</table>
<p>
<p>The short answer is "Use: <code>&lt;</code>".</p>
<p>The long answer is that this probably won't do what you
want anyway (see <a href="#shell-redirect-2">the next
section</a>).</p>
</p>
</a>
<a name="shell-redirect-2">
<a name="shell-redirect-2"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -854,7 +821,6 @@
</font>
</td></tr>
</table>
<p>
<p>Say you want to redirect the standard input stream of the
<code>cat</code> command to read from a file, something
like:</p>
@@ -887,9 +853,7 @@ shell-prompt> cat < foo
</exec>
</pre>
<p>Note the double-quotes nested inside the single-quotes.</p>
</p>
</a>
<a name="batch-shell-execute">
<a name="batch-shell-execute"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -899,7 +863,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>On native Unix systems, you should be able to run shell scripts
directly. On systems running a Unix-type shell (for example, Cygwin
on Windows) execute the (command) shell instead - <code>cmd</code>
@@ -915,9 +878,7 @@ shell-prompt> cat < foo
<arg line="/c test.bat"/>
</exec>
</pre>
</p>
</a>
<a name="multi-conditions">
<a name="multi-conditions"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -928,7 +889,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>There are actually several answers to this question.</p>
<p>If you have only one set and one unset property to test,
you can specify both an <code>if</code> and an <code>unless</code>
@@ -1029,9 +989,7 @@ shell-prompt> cat < foo
<a href="manual/OptionalTasks/script.html">
<code><script></code> task documentation</a> for more
details.</p>
</p>
</a>
<a name="encoding">
<a name="encoding"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1042,7 +1000,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>You need to tell the XML parser which character encoding
your build file uses, this is done inside the <a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-prolog-dtd">XML
declaration</a>.</p>
@@ -1054,9 +1011,7 @@ shell-prompt> cat < foo
<pre class="code">
<?xml version="1.0" encoding="ISO-8859-1" ?>
</pre>
</p>
</a>
<a name="always-recompiles">
<a name="always-recompiles"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1066,7 +1021,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>In order to find out which files should be compiled, Ant
compares the timestamps of the source files to those of the
resulting <code>.class</code> files. Opening all source files
@@ -1091,9 +1045,7 @@ shell-prompt> cat < foo
the actual directory the source
files live in and the directory the class files should go into,
respectively.</p>
</p>
</a>
<a name="defaultexcludes">
<a name="defaultexcludes"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1106,7 +1058,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>This is probably happening because, by default, Ant excludes
SourceSafe control files (<code>vssver.scc</code>) and certain other
files from FileSets.</p>
@@ -1127,9 +1078,7 @@ shell-prompt> cat < foo
<p>For a complete listing of the patterns that are excluded
by default, see <a href="manual/dirtasks.html#defaultexcludes">the user
manual</a>.</p>
</p>
</a>
<a name="stop-dependency">
<a name="stop-dependency"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1142,7 +1091,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>The list of dependencies is generated by Ant before any of the
targets are run. This allows dependent targets, such as an
<code>init</code> target, to set properties that can control the
@@ -1160,9 +1108,7 @@ shell-prompt> cat < foo
instead of specifying them inside the <code>depends</code>
attribute.</li>
</ol>
</p>
</a>
<a name="include-order">
<a name="include-order"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1176,7 +1122,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>The order of the <code><include></code> and
<code><exclude></code> tags within a <code><fileset></code>
is ignored when the FileSet is created. Instead, all of the
@@ -1190,9 +1135,7 @@ shell-prompt> cat < foo
to get them. If you find you need to trim the list that the
<code><include></code> elements produce, then use
<code><exclude></code> elements.</p>
</p>
</a>
<a name="properties-not-trimmed">
<a name="properties-not-trimmed"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1205,7 +1148,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>When <code>ant</code> loads properties from an external
file it dosn't touch the value of properties, trailing blanks
will not be trimmed for example.</p>
@@ -1213,9 +1155,7 @@ shell-prompt> cat < foo
compile, the task which requires the value, javac for example
would fail to compile since it can't find the file due to
trailing spaces.</p>
</p>
</a>
<a name="winzip-lies">
<a name="winzip-lies"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1227,7 +1167,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>No it doesn't.</p>
<p>You may have seen these lower-case directory names in
WinZIP, but WinZIP is trying to be helpful (and fails). If
@@ -1236,9 +1175,7 @@ shell-prompt> cat < foo
all lower-case for you.</p>
<p>If you extract (or just check) the archive with jar, you
will see that the names have the correct case.</p>
</p>
</a>
<a name="integration">
<a name="integration"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1248,12 +1185,9 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>See the <a href="external.html#IDE and Editor Integration">section
on IDE integration</a> on our External Tools and Tasks page.</p>
</p>
</a>
<a name="emacs-mode">
<a name="emacs-mode"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1264,7 +1198,6 @@ shell-prompt> cat < foo
</font>
</td></tr>
</table>
<p>
<p>Ant adds a "banner" with the name of the current
task in front of all logging messages - and there are no built-in
regular expressions in your editor that would account for
@@ -1317,9 +1250,7 @@ while(<STDIN>) {
print;
};
</pre>
</p>
</a>
<a name="dtd">
<a name="dtd"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1330,7 +1261,6 @@ while(<STDIN>) {
</font>
</td></tr>
</table>
<p>
<p>An incomplete DTD can be created by the
<code><antstructure></code> task - but this one
has a few problems:</p>
@@ -1355,9 +1285,7 @@ while(<STDIN>) {
lists. This problem cannot be solved; DTDs don't give a
syntax rich enough to support this.</li>
</ul>
</p>
</a>
<a name="xml-entity-include">
<a name="xml-entity-include"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1367,7 +1295,6 @@ while(<STDIN>) {
</font>
</td></tr>
</table>
<p>
<p>You can use XML's way of including external files and let
the parser do the job for Ant:</p>
<pre class="code">
@@ -1397,9 +1324,7 @@ while(<STDIN>) {
<!ENTITY include SYSTEM "file:./header.xml">
]>
</pre>
</p>
</a>
<a name="mail-logger">
<a name="mail-logger"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1410,7 +1335,6 @@ while(<STDIN>) {
</font>
</td></tr>
</table>
<p>
<p>If you are using a nightly build of Ant 1.5 after
2001-12-14, you can use the built-in MailLogger:</p>
<pre class="code">
@@ -1564,9 +1488,7 @@ ant -listener BuildMonitor -logfile build.log
<code>activation.jar</code> from the
<a href="http://java.sun.com/products/javabeans/glasgow/jaf.html">Java
Beans Activation Framework</a> are in your <code>CLASSPATH</code>.</p>
</p>
</a>
<a name="listener-properties">
<a name="listener-properties"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1577,7 +1499,6 @@ ant -listener BuildMonitor -logfile build.log
</font>
</td></tr>
</table>
<p>
<p>You can get at a hashtable with all the properties that Ant
has been using through the BuildEvent parameter. For
example:</p>
@@ -1591,9 +1512,7 @@ public void buildFinished(BuildEvent e) {
<p>This is more accurate than just reading the same property
files that your project does, since it will give the correct
results for properties that were specified on the Ant command line.</p>
</p>
</a>
<a name="remove-cr">
<a name="remove-cr"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1604,7 +1523,6 @@ public void buildFinished(BuildEvent e) {
</font>
</td></tr>
</table>
<p>
<p>The <code>antRun</code> script in <code>ANT_HOME/bin</code>
has DOS instead of Unix line endings; you must remove the
carriage-return characters from this file. This can be done by
@@ -1614,9 +1532,7 @@ public void buildFinished(BuildEvent e) {
tr -d '\r' < $ANT_HOME/bin/antRun > /tmp/foo
mv /tmp/foo $ANT_HOME/bin/antRun
</pre>
</p>
</a>
<a name="javadoc-cannot-execute">
<a name="javadoc-cannot-execute"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1626,14 +1542,11 @@ mv /tmp/foo $ANT_HOME/bin/antRun
</font>
</td></tr>
</table>
<p>
<p>There is a bug in the Solaris reference implementation of
the JDK (see <a href="http://developer.java.sun.com/developer/bugParade/bugs/4230399.html">http://developer.java.sun.com/developer/bugParade/bugs/4230399.html</a>).
This also appears to be true under Linux. Moving the JDK to
the front of the PATH fixes the problem.</p>
</p>
</a>
<a name="delegating-classloader">
<a name="delegating-classloader"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1644,7 +1557,6 @@ mv /tmp/foo $ANT_HOME/bin/antRun
</font>
</td></tr>
</table>
<p>
<p>These tasks don't ignore your classpath setting, you
are facing a common problem with delegating classloaders.</p>
<p>First of all let's state that Ant adds all
@@ -1736,9 +1648,7 @@ mv /tmp/foo $ANT_HOME/bin/antRun
for <code><junit></code>, you still have to use a
<code><taskdef></code> with a nested
<code><classpath></code> to define the junit task.</p>
</p>
</a>
<a name="winxp-jdk14-ant14">
<a name="winxp-jdk14-ant14"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1751,7 +1661,6 @@ mv /tmp/foo $ANT_HOME/bin/antRun
</font>
</td></tr>
</table>
<p>
<p>Ant < 1.5 doesn't recognize Windows XP as a flavor
of Windows that runs <code>CMD.EXE</code> instead of
<code>COMMAND.COM</code>. JDK 1.3 will tell Ant that Windows
@@ -1761,9 +1670,7 @@ mv /tmp/foo $ANT_HOME/bin/antRun
environment variable <code>ANT_OPTS</code> to
<code>-Dos.name=Windows_NT</code> prior to invoking Ant has
been confirmed as a workaround.</p>
</p>
</a>
<a name="1.5-cygwin-sh">
<a name="1.5-cygwin-sh"></a>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#4C6C8F">
<font color="#ffffff" face="arial,helvetica,sanserif">
@@ -1775,15 +1682,12 @@ mv /tmp/foo $ANT_HOME/bin/antRun
</font>
</td></tr>
</table>
<p>
<p>This problem has been reported only hours after Ant 1.5 has
been released, see <a href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10664">Bug
10664</a> and all it's duplicates.</p>
<p>A fixed version of the wrapper script can be found <a href="http://jakarta.apache.org/builds/jakarta-ant/release/v1.5/errata/">here</a>.
Simply replace your script with this version.</p>
</p>
</a>
</p>
</p>
</div>
</td><td width="10"><img width="10" height="1" alt="" src="images/spacer.gif"></td>