# Javadoc Properties

Stéphane MOR
Arnaud HERITIER

# Javadoc Settings

Property | Optional? | Description
--- | --- | ---

maven.javadoc.additionalparam

Yes

Specifies additional parameters added to the javadoc command line.

Example (to print what version of javadoc you are using):

    maven.javadoc.additionalparam=-J-showversion

maven.javadoc.debug | Yes | Print informations to debug the plugin. The default value is `false`.
maven.javadoc.doclet | Yes | Specifies the doclet to use when calling javadoc. See the ant javadoc task documentation for more detail.
maven.javadoc.docletpath | Yes | Specifies the path to the doclet class when calling javadoc with a custom doclet. See the ant javadoc task documentation for more detail.
maven.javadoc.excludepackagenames | Yes | Comma separated list of packages to exclude from the javadoc.
maven.javadoc.locale | Yes | Locale to be used, e.g. en_US or en_US_WIN. Works like the "-locale" option of the javadoc command.
maven.javadoc.maxmemory | Yes | Specifies the maximum Java heap size to be used when launching the javadoc executable. Some JVMs refer to this property as the `-Xmx` parameter.
maven.javadoc.overview | Yes | Filename. Add additional overview documentation to the overview page of the javadoc. The documentation must be an HTML file, specified relative to the project.xml.
maven.javadoc.public maven.javadoc.package maven.javadoc.private | Yes | Boolean value. The scope of classes and members to include in the javadoc. A `true` value includes that scope and higher. The default value is to include protected scope and higher.
maven.javadoc.source | Yes | Specifies the version of the jdk in use. See the ant javadoc task documentation for more detail.
maven.javadoc.useexternalfile | Yes | indicates whether the sourcefile name specified in srcfiles or as nested source elements should be written to a temporary file to make the command line shorter. Default value : no.
maven.javadoc.failonerror | Yes | Stop the buildprocess if the command exits with a returncode other than 0. Default value : false.

# Standard Doclet Settings

Property | Optional? | Description
--- | --- | ---
maven.javadoc.author | Yes | Boolean value. Specifies whether or not the `@author` text is included in the generated Javadocs. The default value is `true`.

maven.javadoc.bottom

Yes

Specifies the text to be placed at the bottom of each output file. The default value is

    Copyright ${year} ${pom.organization.name}. All Rights Reserved.

`${pom.organization.name}` expand to value obtained from the project descriptor.

maven.javadoc.customtags

Yes

Specifies custom tags to use for the generated Javadocs. You can specify some tags separate by space. Each tag is describe in sub properties. This option is only available with Java 1.4. Sample :

    maven.javadoc.customtags=tag1 tag2
    tag1.name=todo
    tag1.description=To Do:
    tag1.enabled=true
    tag1.scope=all

    tag2.name=task
    tag2.description=Task:
    tag2.enabled=false
    tag2.scope=all

maven.javadoc.destdir | Yes | The destination directory for all of the generated Javadocs. The default value is `${maven.docs.dest}/apidocs`.
maven.javadoc.footer | Yes | Specifies the text or html fragment to be placed to the right of the bottom navigation bar on all pages. The default is to not have a footer. If the footer is not set, but the header is, then Javadoc will user the header in both places.
maven.javadoc.header | Yes | Specifies the text or html fragment to be placed at the top of the navigation frame in the upper-left corner, and to the right of the top navigation bar on all pages. The default is to not have a header. Javadoc will be use this as the footer as well if the footer is not set explicitly.
maven.javadoc.links | Yes | Comma separated list of URLs to create links to javadoc output of other packages in online mode (see properties maven.online.mode and maven.javadoc.mode.online). Works like the "-link" option of the javadoc command. See the FAQ for more details.

maven.javadoc.mode.online

Yes

Default value is `${maven.mode.online}`.

If set, a value of `true` forces generation of javadoc in online mode (using `${maven.javadoc.links}`).

Any other value means `false` and forces generation of javadoc in offline mode (using `${maven.javadoc.offlineLinks}`).

This tag allows you to generate javadoc in mode different from the "general" online/offline mode `${maven.mode.online}`.

maven.javadoc.offlineLinks | Yes | Comma separated list of URLs to create links to javadoc output of other packages in offline mode (see properties maven.online.mode and maven.javadoc.mode.online). Works like the "-linkoffline" option of the javadoc command. See the FAQ for more details.
maven.javadoc.stylesheet | Yes | Specifies the stylesheet file to use for the javadoc. Default is `${plugin.resources}/stylesheet.css`
maven.javadoc.tagletpath | Yes | Specifies the path to the taglet classes when calling javadoc with taglets. See the ant javadoc task documentation for more detail.
maven.javadoc.taglets | Yes | Comma separated list of taglet classes to use when calling javadoc (use fully-qualified class names). You must also set maven.javadoc.tagletpath. See the ant javadoc task documentation for more detail.
maven.javadoc.use | Yes | Boolean value. If `true`, a "use" page is generated for each class and member. The default value is `true`.
maven.javadoc.version | Yes | Specifies whether or not the `@version` text is included in the generated Javadocs. The default value is `true`.
maven.javadoc.windowtitle | Yes | Specifies the window title and the doc title to use for the generated Javadocs. The default value is `${pom.name} ${pom.currentVersion} API`. `${pom.name}` and `${maven.currentVersion}` expand to values obtained from the project descriptor.

# Other Settings

Type | Name | Optional? | Description
--- | --- | --- | ---
Property | maven.compile.encoding | Yes | Sets the encoding of the .java files being documented (and compiled).
Property | maven.docs.outputencoding | Yes | The character encoding for generated documentation. This value is used as charset and docencoding for the standard doclet.
Project descriptor | pom.package | No (<= 1.6) Yes (>= 1.7) | The package used as root for the javadoc.