Cari di Apache Ant 
    Apache Ant Tutorial
Daftar Isi
(Sebelumnya) Getting AntProxy configuration (Berikutnya)
Installing Apache Ant

Platform Specific Issues

Platform Issues

Java versions

Java 1.5

You may need a bigger stack than default, especially if you are using the built inXSLT engine. We recommend you use Apache Xalan; indeed, some tasks (JUnit report in XML,for example) may not work against the shipping XSL engine.

Unix and Linux

  • You should use a GNU version of tar to untar the Apache Ant source tree, if you have downloaded this as a tar file. If you getwierd errors about missing files, this is the problem.
  • Ant does not preserve file permissions when a file is copied, moved or archived, because Java does not let it read or write the permissions. Use <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.
  • Ant is not symbolic link aware in moves, deletes and when recursing down a treeof directories to build up a list of files. Unexpected things can happen.
  • Linux on IA-64: apparently you need a larger heap than the defaultone (64M) to compile big projects. If you get out of heaperrors, either increase the heap or use a forking javac. Better yet,use jikes for extra compilation speed.

Microsoft Windows

Windows 9x (win95, win98, win98SE and winME) are not supported in Ant1.7,

The Ant team has retired support for these products because they are outdated andcan expose customers to security risks. We recommend that customers who arestill 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, richerfunctionality, and increased productivity.

Microsoft Windows 2K, XP and Server 2K03

Windows 9x (win95, win98, win98SE and winME) has a batch file system whichdoes not work fully with long file names, so we recommend that ant and the JDKare 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 killthe shell before deleting directories.Nor can files that are in use be overwritten.

Finally, if any Ant task fails with an IOError=2, it means that whatever native program Ant is trying to run, it is not on the path.

Microsoft Windows Vista

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

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 incrediblypopular, or it is trouble. If you do use it, remember that Java is aWindows application, so Ant is running in a Windows process, not aCygwin one. This will save us having to mark your bug reports as invalid.

Apple MacOS X

MacOS X is the first of the Apple platforms that Ant supports completely;it is treated like any other Unix.

Novell Netware

To give the same level of sophisticated control as Ant's startup scripts on other platforms, it was decided to make the main ant startup on NetWare be via a Perl Script, "runant.pl". This is found in the bin directory (for instance - bootstrapin or distin).

One important item of note is that you need to set up the following to run ant:

  • CLASSPATH - put ant.jar and any other needed jars on the system classpath.
  • ANT_OPTS - On NetWare, ANT_OPTS needs to include a parameter of the form, "-envCWD=ANT_HOME", with ANT_HOME being the fully expanded location of Ant, not an environment variable. This is due to the fact that the NetWare System Console has no notion of a current working directory.

It is suggested that you create up an ant.ncf that sets up these parameters, and calls perl ANT_HOME/dist/bin/runant.pl

The following is an example of such an NCF file(assuming ant is installed in 'sys:/apache-ant/'):

   envset CLASSPATH=SYS:/apache-ant/bootstrap/lib/ant.jar
   envset CLASSPATH=$CLASSPATH;SYS:/apache-ant/lib/optional/junit.jar
   envset CLASSPATH=$CLASSPATH;SYS:/apache-ant/bootstrap/lib/optional.jar

   setenv ANT_OPTS=-envCWD=sys:/apache-ant
   envset ANT_OPTS=-envCWD=sys:/apache-ant
   setenv ANT_HOME=sys:/apache-ant/dist/lib
   envset ANT_HOME=sys:/apache-ant/dist/lib

   perl sys:/apache-ant/dist/bin/runant.pl

Ant works on JVM version 1.3 or higher. You may have some luck running it on JVM 1.2, but serious problems have been found running Ant on JVM 1.1.7B. These problems are caused by JVM bugs that will not be fixed.

JVM 1.3 is supported on Novell NetWare versions 5.1 and higher.

Other platforms

Support for other platforms is not guaranteed to be complete, as certain techniques to hide platform details from build files need to be written andtested on every particular platform. Contributions in this area are welcome.
(Sebelumnya) Getting AntProxy configuration (Berikutnya)