## NAME

`apt` - annotation processing tool

## SYNOPSIS

`apt [-classpath classpath] [-sourcepath sourcepath] [-d directory] [-s directory] [-factorypath path] [-factory class] [-print] [-nocompile] [-Akey[=val] ...] [javac option] sourcefiles [@files]`

## PARAMETERS

Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below.

sourcefiles
  Zero or more source files to be processed.
@files
  One or more files that list source files or other options

## DESCRIPTION

The tool `apt`, annotation processing tool, includes a set of new reflective APIs and supporting infrastructure to process program annotations. The `apt` reflective APIs provide a build-time, source-based, read-only view of program structure. These reflective APIs are designed to cleanly model the JavaTM programming language's type system after the addition of generics. First, `apt` runs annotation processors that can produce new source code and other files. Next, `apt` can cause compilation of both original and generated source files, easing development. The reflective APIs and other APIs used to interact with the tool are subpackages of `com.sun.mirror`.

A fuller discussion of how the tool operates as well as instructions for developing with `apt` are in Getting Started with `apt`.

Note:
  The functionality of `apt` has been subsumed by the annotation-processing infrastructure that is now part of the `javac` tool and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the `javac` tool.

## OPTIONS

### `apt` specific options

`-s` dir
  Specify the directory root under which processor-generated source files will be placed; files are placed in subdirectories based on package namespace.
`-nocompile`
  Do not compile source files to class files.
`-print`
  Print out textual representation of specified types; perform no annotation processing or compilation.
`-A`[key[`=`val]]
  Options to pass to annotation processors -- these are not interpreted by `apt` directly, but are made available for use by individual processors
`-factorypath` path
  Specify where to find annotation processor factories; if this option is used, the classpath is not searched for factories.
`-factory` classname
  Name of annotation processor factory to use; bypasses default discovery process

### Options shared with `javac`

`-d` dir
  Specify where to place processor and javac generated class files
`-cp` path or `-classpath` path
  Specify where to find user class files and annotation processor factories. If `-factorypath` is given, the classpath is not searched for factories.

Consult the javac(1) man page for information on `javac` options.

## NOTES

The functionality of `apt` has been subsumed by the standard annotation-processing infrastructure now offered by `javac`. Support for `apt` and its associated APIs may be discontinued in some future JDK release.

## SEE ALSO

- javac, java