# Module java.compiler

Defines the Language Model, Annotation Processing, and Java Compiler APIs.

These APIs model declarations and types of the Java programming language, and define interfaces for tools such as compilers which can be invoked from a program.

This module is upgradeable.

Since:
  9

- - ## Packages

    Exports
    Package | Description
    --- | ---
    javax.annotation.processing | Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
    javax.lang.model | Classes and hierarchies of packages used to model the Java programming language.
    javax.lang.model.element | Interfaces used to model elements of the Java programming language.
    javax.lang.model.type | Interfaces used to model Java programming language types.
    javax.lang.model.util | Utilities to assist in the processing of program elements and types.
    javax.tools | Provides interfaces for tools which can be invoked from a program, for example, compilers.