You may need a bigger stack than default, especially if you are using the built in XSLT engine. We recommend you use Apache Xalan; indeed, some tasks (JUnit report in XML, for example) may not work against the shipping XSL engine.
<chmod>
to set permissions,
and when creating a tar archive, use the mode attribute
of <tarfileset>
to set the permissions in the tar file,
or <apply>
the real tar program.<javac>
. Better yet, use jikes for extra compilation
speed.Windows 9x (win95, win98, win98SE and winME) are not supported since Ant 1.7.
The Ant team has retired support for these products because they are outdated and can expose customers to security risks. We recommend that customers who are still running Windows 98 or Windows ME upgrade to a newer, more secure operating system, as soon as possible.
Customers who upgrade to Linux report improved security, richer functionality, and increased productivity.
Windows 9x (win95, win98, win98SE and winME) has a batch file system which does not work fully with long file names, so we recommend that Ant and JDK are installed into directories without spaces, and with 8.3 filenames. The Perl and Python launcher scripts do not suffer from this limitation.
All versions of Windows are usually case insensitive, although mounted file systems (Unix drives, ClearCase views) can be case sensitive underneath, confusing patternsets.
Ant can often not delete a directory which is open in an Explorer window. There is nothing we can do about this short of spawning a program to kill the shell before deleting directories. Nor can files that are in use be overwritten.
Finally, if any Ant task fails with an error=2
, it means that whatever native program
Ant is trying to run, it is not on the Path
.
There are reports of problems with Windows Vista security bringing up dialog boxes asking if the
user wants to run an untrusted executable during an Ant run, such as when
the <signjar>
task runs the jarsigner.exe program. This is beyond
Ant's control, and stems from the OS trying to provide some illusion of security by being reluctant
to run unsigned native executables. The latest Java versions appear to resolve this problem by
having signed binaries.
Cygwin is not an operating system; rather it is an application suite running under Windows and providing some UNIX like functionality. Sun has not created any specific Java Development Kit or Java Runtime Environment for cygwin. See this link: http://www.inonit.com/cygwin/faq/. Only Windows path names are supported by JDK and JRE tools under Windows or cygwin. Relative path names such as src/org/apache/tools are supported, but Java tools do not understand /cygdrive/c to mean c:\.
The utility cygpath (used industrially in the ant script to support
cygwin) can convert cygwin path names to Windows. You can use the <exec>
task in
Ant to convert cygwin paths to Windows path, for instance like that:
<property name="some.cygwin.path" value="/cygdrive/h/somepath"/> <exec executable="cygpath" outputproperty="windows.pathname"> <arg value="--windows"/> <arg value="${some.cygwin.path}"/> </exec> <echo message="${windows.pathname}"/>
We get lots of support calls from Cygwin users. Either it is incredibly popular, or it is trouble. If you do use it, remember that Java is a Windows application, so Ant is running in a Windows process, not a Cygwin one. This will save us having to mark your bug reports as invalid.
MacOS X a.k.a. macOS is the first of the Apple platforms that Ant supports completely; it is treated like any other Unix.
Support for other platforms is not guaranteed to be complete, as certain techniques to hide platform details from build files need to be written and tested on every particular platform. Contributions in this area are welcome.