Name

javac

Synopsis

Compiles Java source code. This task compares .java files with .class files. Affected source files are compiled when the class files do not exist, or when the source files are newer than their respective class files.

This task makes no effort to analyze source code or to perform logical dependency analysis. For example, Ant does not know if subclasses need compiling after the source code for a base class is modified.

Numerous compilers are supported. For JDK 1.1/1.2, the default compiler is classic. For JDK 1.3/1.4, it defaults to modern. To choose a different compiler, set the build.compiler property as shown in Table 7-3. The “Alias” column lists alternate property values having the same effect as the value in the “Property” column.

Table 7-3. Compiler selection properties

Property

Alias

Description

classic
javac1.1 or javac1.2

The standard JDK 1.1 or 1.2 compiler.

modern
javac1.3 or javac1.4

The standard JDK 1.3 or 1.4 compiler.

jikes

IBM’s Jikes compiler.

jvc
Microsoft

Microsoft’s Java SDK compiler.

kjc

The kopi compiler.

gcj

The gcj compiler from gcc.

sj
Symantec

The Symantec compiler.

extJavac

Run either modern or classic in a JVM of its own.

Attributes

bootclasspath (all, Path, N)

The bootstrap[49] classpath to use.

bootclasspathref (all, Reference, N)

A reference to a bootstrap classpath defined elsewhere in the buildfile.

classpath (all, Path, N)

The classpath to use. This is added to Ant’s classpath unless fork="true".

classpathref ...

Get Ant: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.