AntCompiler (Apache Tomcat 9.0.121 API Documentation)
Description: declaration: package: org.apache.jasper.compiler, class: AntCompiler

# 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