# Class AntCompiler

java.lang.Object
org.apache.jasper.compiler.Compiler
org.apache.jasper.compiler.AntCompiler

public class AntCompiler extends Compiler
Main JSP compiler class. This class uses Ant for compiling.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`AntCompiler.JasperAntLogger`
Ant logger that captures compilation output for reporting.
`protected static class`
`AntCompiler.SystemLogHandler`
Handler that captures System.err output for compilation error reporting.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final Object`
`javacLock`
Lock object used to synchronize javac compilation when not forking.
`protected AntCompiler.JasperAntLogger`
`logger`
The Ant build listener that captures compilation output.
`protected org.apache.tools.ant.Project`
`project`
The Ant project used for compilation.

### Fields inherited from class Compiler

`ctxt, errDispatcher, jsw, options, pageInfo, pageNodes, tfp`

## Constructor Summary

Constructors
Constructor
Description
`AntCompiler()`
Constructs a new AntCompiler.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`generateClass(Map<String, SmapStratum> smaps)`
Servlet compilation.
`protected org.apache.tools.ant.Project`
`getProject()`
Returns the Ant project, initializing it if necessary.

### Methods inherited from class Compiler

`compile, compile, compile, generateJava, getCompilationContext, getErrorDispatcher, getPageInfo, getSmap, init, isOutDated, isOutDated, removeGeneratedClassFiles, removeGeneratedFiles`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### javacLock

protected static final Object javacLock
Lock object used to synchronize javac compilation when not forking.

### project

protected org.apache.tools.ant.Project project
The Ant project used for compilation.

### logger

protected AntCompiler.JasperAntLogger logger
The Ant build listener that captures compilation output.

## Constructor Details

### AntCompiler

public AntCompiler()
Constructs a new AntCompiler.

## Method Details

### getProject

protected org.apache.tools.ant.Project getProject()
Returns the Ant project, initializing it if necessary.

Returns:
  the Ant project

### generateClass

protected void generateClass(Map<String, SmapStratum> smaps) throws FileNotFoundException, JasperException, Exception
Description copied from class: `Compiler`
Servlet compilation. This compiles the generated sources into Servlets.

Specified by:
  `generateClass` in class `Compiler`
Parameters:
  `smaps` - The source maps for the class(es) generated from the source file
Throws:
  `FileNotFoundException` - Source files not found
  `JasperException` - Compilation error
  `Exception` - Some other error