# Javadoc Properties

Stéphane MOR

# Javadoc Settings

Property | Optional? | Description
--- | --- | ---
maven.javadoc.author | Yes | Specifies whether or not the `@author` text is included in the generated Javadocs. The default value is `true`.
maven.javadoc.destdir | Yes | The destination directory for all of the generated Javadocs. The default value is `${maven.docs.dest}/apidocs`.
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.doctitle | Yes | Specifies the document title to use for the generated Javadocs. The default value is `${maven.name} ${maven.currentVersion} API`. `${maven.name}` and `${maven.currentVersion}` expand to values obtained from the project descriptor.

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.

The URLs must link to a directory where the javadoc generated file "package-list" is accesible for the package.

Example:

    maven.javadoc.links=http://java.sun.com/j2se/1.4.2/docs/api/, http://maven.apache.org/apidocs/

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.

The URLs must link to a directory where the javadoc generated file "package-list" is accesible for the package.

Example (generates offline links in offline mode):

    maven.javadoc.offlineLinks=/opt/java-apidoc/j2sdk1.4.1/docs/api/, /cvsroot/maven/target/docs/apidocs/

Generation of online javadoc links in offline mode is also possible. You need to provide the online URL plus the a offline directory resource for "package-list". URL and directory need to be seperated by the "#" character.

Example (generates online links in offline mode):

    maven.javadoc.offlineLinks=http://java.sun.com/j2se/1.4.2/docs/api/#/opt/java-apidoc/j2sdk1.4.1/docs/api/, \
      http://maven.apache.org/apidocs/#/cvsroot/maven/target/docs/apidocs/

maven.javadoc.private | Yes | Specifies whether or not all classes and members are included in the generated Javadocs. The default value is `false`.
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.source | Yes | Specifies the version of the jdk in use. See the ant javadoc task documentation for more detail.
maven.javadoc.use | Yes | Specifies whether or not 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 to use for the generated Javadocs. The default value is `${maven.name} ${maven.currentVersion} API`. `${maven.name}` and `${maven.currentVersion}` expand to values 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.additionalparam

Yes

Specifies additional parameters added to the javadoc command line.

Example (sets generated Javadocs encoding to utf-8):

    maven.javadoc.additionalparam=-charset utf-8