mirror of
https://github.com/apache/ant.git
synced 2025-05-19 14:34:45 +00:00
PR: Obtained from: Submitted by: Reviewed by: git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272600 13f79535-47bb-0310-9956-ffa450edef68
447 lines
21 KiB
HTML
447 lines
21 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
|
||
<!-- Content Stylesheet for Site -->
|
||
|
||
|
||
<!-- start the processing -->
|
||
<html>
|
||
<!-- 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"/>
|
||
|
||
<meta name="author" value="Conor MacNeill">
|
||
<meta name="email" value="">
|
||
|
||
<title>Apache Ant - Having Problems?</title>
|
||
</head>
|
||
|
||
<body bgcolor="#ffffff" text="#000000" link="#525D76">
|
||
<table border="0" width="100%" cellspacing="0">
|
||
<!-- TOP IMAGE -->
|
||
<tr>
|
||
<td align="left">
|
||
<a href="http://jakarta.apache.org"><img src="images/jakarta-logo.gif" border="0"/></a>
|
||
</td>
|
||
<td align="center">
|
||
<a href="http://www.sdmagazine.com"><img src="images/sdm_productivity_award.gif" border="0" height="75" width="135"/></a>
|
||
</td>
|
||
<td align="center">
|
||
<a href="http://www.javaworld.com"><img src="images/jw_ec_logo_winner2002.gif" border="0" height="85" width="230"/></a>
|
||
</td>
|
||
<td align="right">
|
||
<a href="http://jakarta.apache.org/ant/"><img src="./images/ant_logo_large.gif" alt="Apache Ant" border="0"/></a>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<table border="0" width="100%" cellspacing="4">
|
||
<tr><td colspan="2">
|
||
<hr noshade="" size="1"/>
|
||
</td></tr>
|
||
|
||
<tr>
|
||
<!-- LEFT SIDE NAVIGATION -->
|
||
<td valign="top" nowrap="true">
|
||
<p><strong>Apache Ant</strong></p>
|
||
<ul>
|
||
<li> <a href="./index.html">Front Page</a>
|
||
</li>
|
||
<li> <a href="./antnews.html">News</a>
|
||
</li>
|
||
<li> <a href="./manual/index.html">Documentation</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">Ant FAQ</a>
|
||
</li>
|
||
<li> <a href="./problems.html">Having Problems?</a>
|
||
</li>
|
||
</ul>
|
||
<p><strong>Download</strong></p>
|
||
<ul>
|
||
<li> <a href="http://jakarta.apache.org/site/binindex.html">Binaries</a>
|
||
</li>
|
||
<li> <a href="http://jakarta.apache.org/site/sourceindex.html">Source Code</a>
|
||
</li>
|
||
</ul>
|
||
<p><strong>Jakarta</strong></p>
|
||
<ul>
|
||
<li> <a href="http://jakarta.apache.org/site/news.html">News & Status</a>
|
||
</li>
|
||
<li> <a href="http://jakarta.apache.org/site/mission.html">Mission</a>
|
||
</li>
|
||
<li> <a href="http://jakarta.apache.org/site/guidelines.html">Guidelines Notes</a>
|
||
</li>
|
||
<li> <a href="http://jakarta.apache.org/site/faqs.html">FAQs</a>
|
||
</li>
|
||
</ul>
|
||
<p><strong>Get Involved</strong></p>
|
||
<ul>
|
||
<li> <a href="http://jakarta.apache.org/site/getinvolved.html">Overview</a>
|
||
</li>
|
||
<li> <a href="http://jakarta.apache.org/site/cvsindex.html">CVS Repositories</a>
|
||
</li>
|
||
<li> <a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a>
|
||
</li>
|
||
<li> <a href="http://jakarta.apache.org/site/library.html">Reference Library</a>
|
||
</li>
|
||
<li> <a href="http://nagoya.apache.org/bugzilla/enter_bug.cgi?product=Ant">Bug Database</a>
|
||
</li>
|
||
<li> <a href="http://nagoya.apache.org/bugzilla/enter_bug.cgi?product=Ant&bug_severity=Enhancement">Enhancement Requests</a>
|
||
</li>
|
||
</ul>
|
||
</td>
|
||
<td align="left" valign="top">
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#525D76">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Having Problems?"><strong>Having Problems?</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
This page details some steps you can take to try and resolve
|
||
any problems you may be having with Ant. If you find you can't
|
||
resolve the problem, then this page will help you collect some of
|
||
the relevant information to provide in a bug report. This information
|
||
will help the Ant developers understand and resolve the problem.
|
||
Of course, not all the steps here will make sense for every problem
|
||
you may encounter - these are just some suggestions to point
|
||
you in the right direction.
|
||
</p>
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#828DA6">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Read the Manual"><strong>Read the Manual</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
The first step to take when you have a problem with Ant is to read
|
||
the <a href="manual/index.html">manual</a> entry for the task or
|
||
concept that is giving you trouble. In particular, check the
|
||
meaning of a task's attributes and nested elements. Perhaps an
|
||
attribute is available that would provide the behavior you require.
|
||
If you have problems with the manual itself, you can submit a
|
||
documentation bug report (see below) to help us improve the Ant
|
||
documentation.
|
||
</p>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#828DA6">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Examine Debug Output"><strong>Examine Debug Output</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
If you're still having a problem, the next step is to try and
|
||
gather additional information about what Ant is doing.
|
||
Try running Ant with the <code>verbose</code> flag:
|
||
<br /><br />
|
||
<font face="verdana" size="-1">ant -verbose</font>
|
||
<br /><br />
|
||
or
|
||
<br /><br />
|
||
<font face="verdana" size="-1">ant -v</font>
|
||
<br /><br />
|
||
|
||
This will produce output that starts like the following:</p>
|
||
<table>
|
||
<tr>
|
||
<td bgcolor="#a0ddf0" colspan="" rowspan=""
|
||
valign="top" align="left">
|
||
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
|
||
|
||
Ant version 1.4.1 compiled on October 11 2001<br />
|
||
Buildfile: build.xml<br />
|
||
Detected Java version: 1.3 in: D:\usr\local\java\jdk13\jre<br />
|
||
Detected OS: Windows NT<br />
|
||
parsing buildfile D:\ant\build.xml
|
||
with URI = file:D:/ant/build.xml<br />
|
||
Project base dir set to: D:\ant<br />
|
||
<EFBFBD><EFBFBD>[property] Loading Environment env.<br />
|
||
<EFBFBD><EFBFBD>[property] Loading D:\ant\conf.properties<br />
|
||
Build sequence for target 'debug' is [debug]<br />
|
||
Complete build sequence is [debug, gensrc, compile, jar, test]<br />
|
||
. . .<br />
|
||
|
||
</font>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
You should be able to see from the trace more about what Ant
|
||
is doing and why it's taking a particular course of action.
|
||
If you need even more information, you can use the
|
||
<nobr><code>-debug</code></nobr> flag rather than
|
||
<nobr><code>-verbose</code></nobr>.
|
||
This will generally produce so much
|
||
output that you may want to save the output to a file and
|
||
analyze it in an editor. You can save the output using the
|
||
<nobr><code>-logfile <filename></code></nobr> flag, or
|
||
using redirection.
|
||
</p>
|
||
<p>
|
||
Once you have all this debug information, how can you use it
|
||
to solve your problem? That will depend on the task in question
|
||
and the nature of your problem. Each task logs different aspects
|
||
of its operation, but it should give you an idea of what is going
|
||
on. For example, the <code><javac></code> task logs the
|
||
reasons why it
|
||
chooses to compile particular class files and not others, along
|
||
with which compiler it is using and the arguments it will pass
|
||
to that compiler. The following partial trace shows why
|
||
<code><javac></code> is adding one class file but
|
||
skipping another.
|
||
This is followed by which compiler it will be using, the
|
||
arguments that will get passed to the compiler,
|
||
and a list of all the class files to be compiled.
|
||
</p>
|
||
<table>
|
||
<tr>
|
||
<td bgcolor="#a0ddf0" colspan="" rowspan=""
|
||
valign="top" align="left">
|
||
<font color="#000000" size="-1" face="arial,helvetica,sanserif">
|
||
|
||
[javac] Test.java omitted as D:\classes\Test.class is up to date.<br />
|
||
[javac] Unset.java added as D:\classes\Unset.class is outdated.<br />
|
||
[javac] Compiling 1 source file to D:\classes<br />
|
||
[javac] Using classic compiler<br />
|
||
[javac] Compilation args: -d D:\classes -classpath D:\classes;<br />
|
||
D:\jdk118\classes.zip; -sourcepath D:\src\java -g:none<br />
|
||
[javac] File to be compiled:<br />
|
||
D:\src\java\Unset.java<br />
|
||
|
||
</font>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<p>
|
||
In many cases, Ant tasks are wrappers around OS commands or
|
||
other Java classes. In debug mode, many of these tasks will
|
||
print out the equivalent command line, as the
|
||
<code><javac></code> task
|
||
output does. If you are having a problem, it is often useful to
|
||
run the command directly from the command line, in the same way
|
||
Ant is running it, and see if the problem occurs from there
|
||
as well. The problem may be in the command that is being run,
|
||
or it may be in the way the Ant task is running the command.
|
||
You can also see the effect of changing attribute values on the
|
||
generated command line. This can help you to understand whether
|
||
you are using the correct attributes and values.
|
||
</p>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#828DA6">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Has It Been Fixed?"><strong>Has It Been Fixed?</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
After examining the debug output, if you still believe that the
|
||
problem you are having is caused by Ant, chances are that someone
|
||
else may have already encountered this problem, and perhaps it has
|
||
been fixed. The next step, therefore, may be to try a nightly build
|
||
of Ant to see if the problem has been fixed. Nightly builds for Ant
|
||
are available from the
|
||
<a href="http://www.apache.org/dist/jakarta/jakarta-ant/nightly/">
|
||
Jakarta web site</a>. While Ant nightly builds are typically quite
|
||
stable and are used by
|
||
<a href="http://www.apache.org/dist/jakarta/gump/latest/">Gump</a>
|
||
to build many other Jakarta projects, these builds should
|
||
nonetheless be treated as experimental. Note that nightly builds
|
||
do not build many of the optional tasks the come with Ant.
|
||
A snapshot of these optional tasks is occasionally uploaded to
|
||
the nightly download
|
||
<a href="http://www.apache.org/dist/jakarta/jakarta-ant/nightly/optional/">
|
||
area</a>. However, even this snapshot does not contain every
|
||
optional task.
|
||
</p>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#828DA6">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Has It Been Reported?"><strong>Has It Been Reported?</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
If the current nightly build doesn't resolve your problem, it is
|
||
possible that someone else has reported the issue. It is time to
|
||
look at the <a href="http://nagoya.apache.org/bugzilla/">
|
||
Apache Bug Database</a>. This system is easy to use, and it will
|
||
let you search the <a href="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Ant&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&order=bugs.bug_id">
|
||
currently open</a> and resolved bugs to see if your problem has
|
||
already been reported. If your problem has been reported, you can
|
||
see whether any of the developers have commented, suggesting
|
||
workarounds, or the reason for the bug, etc. Or you may have
|
||
information to add (see about creating and modifying bug reports
|
||
below), in which case, go right ahead and add the information.
|
||
If you don't have any additional information, you may just want
|
||
to vote for this bug, and perhaps
|
||
add yourself to the <code>CC</code> list to follow the progress
|
||
of this bug.
|
||
</p>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#828DA6">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Filing a Bug Report"><strong>Filing a Bug Report</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
By this time, you may have decided that there is an unreported
|
||
bug in Ant. You have a few choices at this point. You can send
|
||
an email to the <nobr><code>ant-user</code></nobr> mailing list
|
||
to see if
|
||
others have encountered your issue and find out how they may
|
||
have worked around it. If after some discussion, you feel it
|
||
is time to create
|
||
a bug report, this is a simple operation in the bug database.
|
||
Please try to provide as much information as possible in order
|
||
to assist the developers in resolving the bug. Please try to enter
|
||
correct values for the various inputs when creating the bug, such
|
||
as which version of Ant you are running, and on which platform,
|
||
etc. Once the bug is created, you can also add attachments to
|
||
the bug report.
|
||
</p>
|
||
<p>
|
||
What information should you include in your bug report? The
|
||
easiest bugs to fix are those that are most easily reproducible,
|
||
so it is really helpful if you can produce a small test case that
|
||
exhibits the problem. In this case, you would attach the build file
|
||
and any other files necessary to reproduce the problem, probably
|
||
packed together in an archive. If you can't produce a test case,
|
||
you should try to include a snippet from your build file and the
|
||
relevant sections from the verbose or debug output from Ant. Try
|
||
to include the header information where Ant states the version,
|
||
the OS and VM information, etc. As debug output is likely to be
|
||
very large, it's best to remove any output that is not
|
||
relevant. Once the bug is entered into the bug database, you
|
||
will be kept informed by email about progress on the bug. If
|
||
you receive email asking for further information, please try to
|
||
respond, as it will aid in the resolution of your bug.
|
||
</p>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#828DA6">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Asking for an Enhancement"><strong>Asking for an Enhancement</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
Sometimes, you may find that Ant just doesn't do what you need it
|
||
to. It isn't a bug, as such, since Ant is working the way it is
|
||
supposed to work. Perhaps it is some additional functionality for
|
||
a task that hasn't been thought of yet, or maybe a completely new
|
||
task. For these situations, you will
|
||
want to raise an <i>enhancement request</i>. Enhancement requests
|
||
are managed using the same Apache Bug Database described above.
|
||
These are just a different type of bug report. If you look in the
|
||
bug database, you will see that one of the severity settings for
|
||
a bug is "Enhancement". Just fill the bug report in,
|
||
set the severity of the bug to "Enhancement", and
|
||
state in the description how you would like to have Ant enhanced.
|
||
Again, you should first check whether there are any existing
|
||
enhancment requests that cover your needs. If so, just add your
|
||
vote to these.
|
||
</p>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
<table border="0" cellspacing="0" cellpadding="2" width="100%">
|
||
<tr><td bgcolor="#828DA6">
|
||
<font color="#ffffff" face="arial,helvetica,sanserif">
|
||
<a name="Fixing the Bug"><strong>Fixing the Bug</strong></a>
|
||
</font>
|
||
</td></tr>
|
||
<tr><td>
|
||
<blockquote>
|
||
<p>
|
||
If you aren't satisfied with just filing a bug report, you can
|
||
try to find the cause of the problem and provide a fix yourself.
|
||
The best way to do that is by working with the latest code from CVS.
|
||
Alternatively, you can work with the source code available from the
|
||
<a href="http://jakarta.apache.org/builds/jakarta-ant/release/v1.4.1/src/">
|
||
source distributions</a>. If you
|
||
are going to tackle the problem at this level, you may want to
|
||
discuss some details first on the <nobr><code>ant-dev</code></nobr>
|
||
mailing list. Once you have a fix for the problem, you may submit
|
||
the fix as a <i>patch</i> to either the
|
||
<nobr><code>ant-dev</code></nobr> mailing
|
||
list, or enter the bug database as described above and attach the
|
||
patch to the bug report. Using the bug database has the advantage
|
||
of being able to track the progress of your patch.
|
||
</p>
|
||
<p>
|
||
If you have a patch to submit and are sending it to the
|
||
<nobr><code>ant-dev</code></nobr> mailing list,
|
||
prefix "[PATCH]"
|
||
to your message subject. Please include any relevant bug numbers.
|
||
Patch files should be created with the <nobr><code>-u</code></nobr>
|
||
option of the
|
||
<code>diff</code> or <code>cvs diff</code> command. For
|
||
example:<br /><br />
|
||
<font face="verdana" size="-1">
|
||
diff -u Javac.java.orig Javac.java > javac.diffs<br /><br />
|
||
</font>
|
||
or, if you have source from CVS:<br /><br />
|
||
<font face="verdana" size="-1">
|
||
cvs diff -u Javac.java > javac.diffs<br /><br />
|
||
</font>
|
||
|
||
Note: You should give your patch files meaningful names.
|
||
This makes it easier for developers who need to apply a number
|
||
of different patch files.
|
||
</p>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
</blockquote>
|
||
</td></tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
|
||
<!-- FOOTER -->
|
||
<tr><td colspan="2">
|
||
<hr noshade="" size="1"/>
|
||
</td></tr>
|
||
<tr><td colspan="2">
|
||
<div align="center"><font color="#525D76" size="-1"><em>
|
||
Copyright © 2000-2002, Apache Software Foundation
|
||
</em></font></div>
|
||
</td></tr>
|
||
</table>
|
||
</body>
|
||
</html>
|
||
<!-- end the processing -->
|
||
|
||
|
||
|
||
|