javadoc:javadoc

Note:This goal should be used as a Maven report.

Full name:

org.apache.maven.plugins:maven-javadoc-plugin:3.6.0:javadoc

Description:

Generates documentation for the Java code in an NON aggregator project using the standard Javadoc Tool.
See also: Javadoc Tool

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 2.0.
  • Invokes the execution of the lifecycle phase generate-sources prior to executing itself.

Required Parameters

Name Type Since Description
<outputDirectory> File - Specifies the destination directory where javadoc saves the generated HTML files.
See also: Doclet option d
Default value is: ${project.build.directory}/apidocs.
User property is: destDir.
Alias is: destDir.
<reportOutputDirectory> File - Specifies the destination directory where javadoc saves the generated HTML files.
Default value is: ${project.reporting.outputDirectory}/apidocs.
User property is: reportOutputDirectory.

Optional Parameters

Name Type Since Description
<additionalDependencies> List<AdditionalDependency> 2.8.1 Capability to add additional dependencies to the javadoc classpath. Example:
<additionalDependencies>
  <additionalDependency>
    <groupId>geronimo-spec</groupId>
    <artifactId>geronimo-spec-jta</artifactId>
    <version>1.0.1B-rc4</version>
  </additionalDependency>
</additionalDependencies>

<additionalJOption> String 2.3 Sets additional Javadoc options (e.g. JVM options) on the command line. Example:
<additionalJOption>-J-Xss128m</additionalJOption>

See also: Javadoc Options, VM Options, Networking Properties
User property is: additionalJOption.
<additionalJOptions> String[] 2.9 Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. Example:
    <additionalJOptions>
        <additionalJOption>-J-Xmx1g </additionalJOption>
    </additionalJOptions>

See also: additionalJOption
<additionalOptions> String[] 3.0.0 Set an additional option(s) on the command line. All input will be passed as-is to the @options file. You must take care of quoting and escaping. Useful for a custom doclet.
<addStylesheets> String[] 3.3.0 Specifies the path of an additional HTML stylesheet file relative to the javadocDirectory Example:
    <addStylesheets>
        <resources/addstylesheet.css</addStylesheet>
    </addStylesheets>

<applyJavadocSecurityFix> boolean 2.9.1 To apply a security fix on generated javadoc, see
Default value is: true.
User property is: maven.javadoc.applyJavadocSecurityFix.
<author> boolean - Specifies whether or not the author text is included in the generated Javadocs.
See also: Doclet option author.
Default value is: true.
User property is: author.
<bootclasspath> String 2.5 Specifies the paths where the boot classes reside. The bootclasspath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Javadoc option bootclasspath.
User property is: bootclasspath.
<bootclasspathArtifacts> BootclasspathArtifact[] 2.5 Specifies the artifacts where the boot classes reside.
Example:
<bootclasspathArtifacts>
  <bootclasspathArtifact>
    <groupId>my-groupId</groupId>
    <artifactId>my-artifactId</artifactId>
    <version>my-version</version>
  </bootclasspathArtifact>
</bootclasspathArtifacts>

See Javadoc.
See also: Javadoc option bootclasspath
User property is: bootclasspathArtifacts.
<bottom> String - Specifies the text to be placed at the bottom of each output file.
If you want to use html, you have to put it in a CDATA section,
e.g. <![CDATA[Copyright 2005, <a href="http://www.mycompany.com">MyCompany, Inc.<a>]]>
Note:If the project has the property project.build.outputTimestamp, its year will be used as {currentYear}. This way it is possible to generate reproducible javadoc jars.
See also: Doclet option bottom.
Default value is: Copyright &#169; {inceptionYear}&#x2013;{currentYear} {organizationName}. All rights reserved..
User property is: bottom.
<breakiterator> boolean - Uses the sentence break iterator to determine the end of the first sentence.
See also: Javadoc option breakiterator.
Default value is: false.
User property is: breakiterator.
<charset> String - Specifies the HTML character set for this document. If not specified, the charset value will be the value of the docencoding parameter.
See also: Doclet option charset.
User property is: charset.
<debug> boolean 2.1 Set this to true to debug the Javadoc plugin. With this, javadoc.bat(or.sh), options, @packages or argfile files are provided in the output directory.

Default value is: false.
User property is: debug.
<dependencyLinks> List<DependencyLink> 3.3.0 Redefine the apidoc URL for specific dependencies when using detectLinks. Useful if the dependency wasn't build with Maven or when the apidocs have been moved.
<dependencyLinks>
  <dependencyLink>
    <groupId>groupId</groupId>
    <artifactId>artifactId</artifactId>
    <classifier>classifier</classifier> <!-- optional -->
    <url>version</url>
  </dependencyLink>
</dependencyLinks>

See also: detectLinks
<dependencySourceExcludes> List<String> 2.7 List of excluded dependency-source patterns. Example: org.apache.maven.shared:*
See also: includeDependencySources
<dependencySourceIncludes> List<String> 2.7 List of included dependency-source patterns. Example: org.apache.maven:*
See also: includeDependencySources
<description> String 2.1 The description of the Javadoc report to be displayed in the Maven Generated Reports page (i.e. project-reports.html).
User property is: description.
<destDir> String 2.1 The name of the destination directory.

Default value is: apidocs.
User property is: destDir.
<detectJavaApiLink> boolean 2.6 Detect the Java API link for the current build, i.e. https://docs.oracle.com/javase/1.4.2/docs/api/ for Java source 1.4.
By default, the goal detects the Javadoc API link depending the value of the source parameter in the org.apache.maven.plugins:maven-compiler-plugin (defined in ${project.build.plugins} or in ${project.build.pluginManagement}), or try to compute it from the javadocExecutable version.
See also: links, javaApiLinks
Default value is: true.
User property is: detectJavaApiLink.
<detectLinks> boolean 2.6 Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default Maven conventions, i.e.: ${project.url}/apidocs.
For instance, if the project has a dependency to Apache Commons Lang i.e.:
<dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
</dependency>
The added Javadoc -link parameter will be http://commons.apache.org/lang/apidocs.
See also: links, dependencyLinks
Default value is: false.
User property is: detectLinks.
<detectOfflineLinks> boolean 2.6 Detect the links for all modules defined in the project.
If reactorProjects is defined in a non-aggregator way, it generates default offline links between modules based on the defined project's urls. For instance, if a parent project has two projects module1 and module2, the -linkoffline will be:
The added Javadoc -linkoffline parameter for module1 will be /absolute/path/to/module2/target/site/apidocs
The added Javadoc -linkoffline parameter for module2 will be /absolute/path/to/module1/target/site/apidocs
See also: offlineLinks
Default value is: true.
User property is: detectOfflineLinks.
<docencoding> String - Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be UTF-8.
See also: Doclet option docencoding.
Default value is: ${project.reporting.outputEncoding}.
User property is: docencoding.
<docfilessubdirs> boolean - Enables deep copying of the **/doc-files directories and the specifc resources directory from the javadocDirectory directory (for instance, src/main/javadoc/com/mycompany/myapp/doc-files and src/main/javadoc/resources).
See also: Doclet option docfilessubdirs., excludedocfilessubdir, javadocDirectory
Default value is: false.
User property is: docfilessubdirs.
<doclet> String - Specifies the class file that starts the doclet used in generating the documentation.
See also: Javadoc option doclet.
User property is: doclet.
<docletArtifact> DocletArtifact - Specifies the artifact containing the doclet starting class file (specified with the doclet option).
Example:
<docletArtifact>
  <groupId>com.sun.tools.doclets</groupId>
  <artifactId>doccheck</artifactId>
  <version>1.2b2</version>
</docletArtifact>

See Javadoc.

See also: Javadoc option docletpath.
User property is: docletArtifact.
<docletArtifacts> DocletArtifact[] 2.1 Specifies multiple artifacts containing the path for the doclet starting class file (specified with the doclet option).
Example:
<docletArtifacts>
  <docletArtifact>
    <groupId>com.sun.tools.doclets</groupId>
    <artifactId>doccheck</artifactId>
    <version>1.2b2</version>
  </docletArtifact>
</docletArtifacts>

See Javadoc.

See also: Javadoc option docletpath.
User property is: docletArtifacts.
<docletPath> String - Specifies the path to the doclet starting class file (specified with the doclet option) and any jar files it depends on. The docletPath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Javadoc option docletpath.
User property is: docletPath.
<doclint> String 3.0.0 Specifies specific checks to be performed on Javadoc comments.
See also: Additional Doclet option Xdoclint.
User property is: doclint.
<doctitle> String - Specifies the title to be placed near the top of the overview summary file.
See also: Doclet option doctitle.
Default value is: ${project.name} ${project.version} API.
User property is: doctitle.
<encoding> String - Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the file.encoding system property.
Note: In 2.4, the default value was locked to ISO-8859-1 to ensure reproducing build, but this was reverted in 2.5.
See also: Javadoc option encoding.
Default value is: ${project.build.sourceEncoding}.
User property is: encoding.
<excludedocfilessubdir> String - Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded by separating them with colons (:).
See also: Doclet option excludedocfilessubdir., docfilessubdirs
User property is: excludedocfilessubdir.
<excludePackageNames> String - Unconditionally excludes the specified packages and their subpackages from the list formed by -subpackages. Multiple packages can be separated by commas (,), colons (:) or semicolons (;).

Wildcards work as followed:

  • a wildcard at the beginning should match 1 or more folders
  • any other wildcard must match exactly one folder

Example:
<excludePackageNames>*.internal:org.acme.exclude1.*:org.acme.exclude2</excludePackageNames>

See also: Javadoc option exclude.
User property is: excludePackageNames.
<extdirs> String - Specifies the directories where extension classes reside. Separate directories in extdirs with a colon (:) or a semicolon (;).
See also: Javadoc option extdirs.
User property is: extdirs.
<failOnError> boolean 2.5 Specifies if the build will fail if there are errors during javadoc execution or not.
Default value is: true.
User property is: maven.javadoc.failOnError.
<failOnWarnings> boolean 3.0.1 Specifies if the build will fail if there are warning during javadoc execution or not.
Default value is: false.
User property is: maven.javadoc.failOnWarnings.
<footer> String - Specifies the footer text to be placed at the bottom of each output file.
See also: Doclet option footer.
User property is: footer.
<groups> Group[] - Separates packages on the overview page into whatever groups you specify, one group per table. The packages pattern can be any package name, or can be the start of any package name followed by an asterisk (*) meaning "match any characters". Multiple patterns can be included in a group by separating them with colons (:).
Example:
<groups>
  <group>
    <title>Core Packages</title>
    <!-- To includes java.lang, java.lang.ref,
    java.lang.reflect and only java.util
    (i.e. not java.util.jar) -->
    <packages>java.lang*:java.util</packages>
  </group>
  <group>
    <title>Extension Packages</title>
     <!-- To include javax.accessibility,
    javax.crypto, ... (among others) -->
    <packages>javax.*</packages>
  </group>
</groups>
Note: using java.lang.* for packages would omit the java.lang package but using java.lang* will include it.
See also: Doclet option group., org.apache.maven.plugins.javadoc.options.Group
<header> String - Specifies the header text to be placed at the top of each output file.
See also: Doclet option header.
User property is: header.
<helpfile> String - Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom navigation bars link to.
Note: could be in conflict with <nohelp/>.
The helpfile could be an absolute File path.
Since 2.6, it could be also be a path from a resource in the current project source directories (i.e. src/main/java, src/main/resources or src/main/javadoc) or from a resource in the Javadoc plugin dependencies, for instance:
<helpfile>path/to/your/resource/yourhelp-doc.html</helpfile>
Where path/to/your/resource/yourhelp-doc.html could be in src/main/javadoc.
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <configuration>
        <helpfile>path/to/your/resource/yourhelp-doc.html</helpfile>
        ...
      </configuration>
      <dependencies>
        <dependency>
          <groupId>groupId</groupId>
          <artifactId>artifactId</artifactId>
          <version>version</version>
        </dependency>
      </dependencies>
    </plugin>
    ...
  <plugins>
</build>
Where path/to/your/resource/yourhelp-doc.html is defined in the groupId:artifactId:version javadoc plugin dependency.
See also: Doclet option helpfile.
User property is: helpfile.
<includeDependencySources> boolean 2.7 Whether dependency -sources jars should be resolved and included as source paths for javadoc generation. This is useful when creating javadocs for a distribution project.
Default value is: false.
<includeTransitiveDependencySources> boolean 2.7 Deprecated. Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc run.
See also: includeDependencySources
Default value is: false.
<javaApiLinks> Properties 2.6 Use this parameter only if if you want to override the default URLs. The key should match api_x, where x matches the Java version. For example:
api_1.5
https://docs.oracle.com/javase/1.5.0/docs/api/
api_1.8
https://docs.oracle.com/javase/8/docs/api/
api_9
https://docs.oracle.com/javase/9/docs/api/

User property is: javaApiLinks.
<javadocDirectory> File 2.1 Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...).
Could be used in addition of docfilessubdirs parameter.
See docfilessubdirs.
See also: docfilessubdirs
Default value is: ${basedir}/src/main/javadoc.
<javadocExecutable> String 2.3 Sets the absolute path of the Javadoc Tool executable to use. Since version 2.5, a mere directory specification is sufficient to have the plugin use "javadoc" or "javadoc.exe" respectively from this directory.
User property is: javadocExecutable.
<javadocVersion> String 2.3 Version of the Javadoc Tool executable to use, ex. "1.3", "1.5".
User property is: javadocVersion.
<jdkToolchain> Map<String,String> 3.0.0

Allow for configuration of the javadoc tool via maven toolchains. This overrules the toolchain selected by the maven-toolchain-plugin.

Examples:

(see Guide to Toolchains for more info)
   <configuration>
       ...
       <jdkToolchain>
           <version>11</version>
       </jdkToolchain>
   </configuration>

   <configuration>
       ...
       <jdkToolchain>
           <version>1.8</version>
           <vendor>zulu</vendor>
       </jdkToolchain>
   </configuration>
   
note: requires at least Maven 3.3.1
<keywords> boolean 2.1 Adds HTML meta keyword tags to the generated file for each class.
See also: Doclet option keywords.
Default value is: false.
User property is: keywords.
<legacyMode> boolean 3.6.0 Run the javadoc tool in pre-Java 9 (non-modular) style even if the java version is post java 9. This allows non-JPMS projects that have moved to newer Java versions to create javadocs without having to use JPMS modules.
Default value is: false.
User property is: legacyMode.
<links> ArrayList<String> - Creates links to existing javadoc-generated documentation of external referenced classes.

Notes:

  1. This option is ignored if the plugin is run in offline mode (using the <offline> setting or specifying -o, --offline or -Dmaven.javadoc.offline=true on the command line.
  2. all given links should have a fetchable /package-list or /element-list (since Java 10). For instance:
    <links>
      <link>https://docs.oracle.com/en/java/javase/17/docs/api</link>
    <links>
    
    will be used because https://docs.oracle.com/en/java/javase/17/docs/api/element-list exists.
  3. If detectLinks is defined, the links between the project dependencies are automatically added.
  4. If detectJavaApiLink is defined, a Java API link, based on the Java version of the project's sources, will be added automatically.

See also: Doclet option link
User property is: links.
<linksource> boolean - Creates an HTML version of each source file (with line numbers) and adds links to them from the standard HTML documentation.
See also: Doclet option linksource/a>.

Default value is: false.
User property is: linksource.
<locale> String - Specifies the locale that javadoc uses when generating documentation.
See also: Javadoc option locale.
User property is: locale.
<maxmemory> String - Specifies the maximum Java heap size to be used when launching the Javadoc tool. JVMs refer to this property as the -Xmx parameter. Example: '512' or '512m'. The memory unit depends on the JVM used. The units supported could be: k, kb, m, mb, g, gb, t, tb. If no unit specified, the default unit is m.
User property is: maxmemory.
<minmemory> String - Specifies the minimum Java heap size to be used when launching the Javadoc tool. JVMs refer to this property as the -Xms parameter. Example: '512' or '512m'. The memory unit depends on the JVM used. The units supported could be: k, kb, m, mb, g, gb, t, tb. If no unit specified, the default unit is m.
User property is: minmemory.
<name> String 2.1 The name of the Javadoc report to be displayed in the Maven Generated Reports page (i.e. project-reports.html).
User property is: name.
<nocomment> boolean - Suppress the entire comment body, including the main description and all tags, generating only declarations.
See also: Doclet option nocomment.
Default value is: false.
User property is: nocomment.
<nodeprecated> boolean - Prevents the generation of any deprecated API at all in the documentation.
See also: Doclet option nodeprecated.

Default value is: false.
User property is: nodeprecated.
<nodeprecatedlist> boolean - Prevents the generation of the file containing the list of deprecated APIs (deprecated-list.html) and the link in the navigation bar to that page.
See also: Doclet option nodeprecatedlist.
Default value is: false.
User property is: nodeprecatedlist.
<nohelp> boolean - Omits the HELP link in the navigation bars at the top and bottom of each page of output.
Note: could be in conflict with helpfile.
See also: Doclet option nohelp.
Default value is: false.
User property is: nohelp.
<noindex> boolean - Omits the index from the generated docs.
Note: could be in conflict with splitindex
See also: Doclet option noindex.
Default value is: false.
User property is: noindex.
<nonavbar> boolean - Omits the navigation bar from the generated docs.
See also: Doclet option nonavbar.
Default value is: false.
User property is: nonavbar.
<nooverview> boolean 2.4 Omits the entire overview page from the generated docs.
Note: could be in conflict with overview.
Standard Doclet undocumented option.

Default value is: false.
User property is: nooverview.
<noqualifier> String - Omits qualifying package name from ahead of class names in output. Example:
<noqualifier>all</noqualifier>
or
<noqualifier>packagename1:packagename2</noqualifier>

See also: Doclet option noqualifier.
User property is: noqualifier.
<nosince> boolean - Omits from the generated docs the "Since" sections associated with the since tags.
See also: Doclet option nosince.
Default value is: false.
User property is: nosince.
<notimestamp> boolean 2.1 Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page.

Note: If the project has the property project.build.outputTimestamp, the value will be overwritten to true. This way it is possible to generate reproducible javadoc jars.
See also: Doclet option notimestamp.
Default value is: false.
User property is: notimestamp.
<notree> boolean - Omits the class/interface hierarchy pages from the generated docs.
See also: Doclet option notree
Default value is: false.
User property is: notree.
<offline> boolean 3.6.0 Specify if the Javadoc plugin should operate in offline mode. If maven is run in offline mode (using -o or --offline on the command line), this option has no effect and the plugin is always in offline mode.
Default value is: false.
User property is: maven.javadoc.offline.
<offlineLinks> OfflineLink[] - This option is a variation of links; they both create links to javadoc-generated documentation for external referenced classes.
Example:
<offlineLinks>
  <offlineLink>
    <url>https://docs.oracle.com/javase/1.5.0/docs/api/</url>
    <location>../javadoc/jdk-5.0/</location>
  </offlineLink>
</offlineLinks>

Note: if detectOfflineLinks is defined, the offline links between the project modules are automatically added if the goal is calling in a non-aggregator way.
See also: org.apache.maven.plugins.javadoc.options.OfflineLink, Doclet option linkoffline
User property is: offlineLinks.
<old> boolean - This option creates documentation with the appearance and functionality of documentation generated by Javadoc 1.1. This is no longer supported since Javadoc 1.4 (shipped with JDK 1.4)
See also: Javadoc option 1.1.
Default value is: false.
User property is: old.
<outputTimestamp> String 3.2.0 Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
Default value is: ${project.build.outputTimestamp}.
<overview> File - Specifies that javadoc should retrieve the text for the overview documentation from the "source" file specified by path/filename and place it on the Overview page (overview-summary.html).
Note: could be in conflict with nooverview.
See also: Javadoc option overview.

Default value is: ${basedir}/src/main/javadoc/overview.html.
User property is: overview.
<packagesheader> String 2.1 Specify the text for upper left frame.
See also: Bug Report about missing documentation
User property is: packagesheader.
<quiet> boolean - Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them easier to view.
Note: was a standard doclet in Java 1.4.2 (refer to bug ID 4714350).
Since Java 5.0.
See also: Javadoc option quiet.
Default value is: false.
User property is: quiet.
<release> String JDK 9 Provide source compatibility with specified release
See also: Javadoc option release.
Default value is: ${maven.compiler.release}.
<resourcesArtifacts> ResourcesArtifact[] 2.5 A list of artifacts containing resources which should be copied into the Javadoc output directory (like stylesheets, icons, etc.).
Example:
<resourcesArtifacts>
  <resourcesArtifact>
    <groupId>external.group.id</groupId>
    <artifactId>external-resources</artifactId>
    <version>1.0</version>
  </resourcesArtifact>
</resourcesArtifacts>

See Javadoc.

User property is: resourcesArtifacts.
<serialwarn> boolean - Generates compile-time warnings for missing serial tags.
See also: Doclet option serialwarn
Default value is: false.
User property is: serialwarn.
<show> String - Specifies the access level for classes and members to show in the Javadocs. Possible values are:
  • public (shows only public classes and members)
  • protected (shows only public and protected classes and members)
  • package (shows all classes and members not marked private)
  • private (shows all classes and members)

See also: Javadoc options private, protected, public and package
Default value is: protected.
User property is: show.
<skip> boolean 2.5 Specifies whether the Javadoc generation should be skipped.
Default value is: false.
User property is: maven.javadoc.skip.
<skippedModules> String 3.2.0

Comma separated list of modules (artifactId) to not add in aggregated javadoc


User property is: maven.javadoc.skippedModules.
<source> String - Provide source compatibility with specified release. Since JDK 9 rather use release.
See also: Javadoc option source.
Default value is: ${maven.compiler.source}.
User property is: source.
<sourceDependencyCacheDir> File 2.7 Directory where unpacked project sources / test-sources should be cached.
See also: includeDependencySources
Default value is: ${project.build.directory}/distro-javadoc-sources.
<sourceFileExcludes> List<String> 2.9 exclude filters on the source files. These are ignored if you specify subpackages or subpackage excludes.
<sourceFileIncludes> List<String> 2.9 Include filters on the source files. Default is **\/\*.java. These are ignored if you specify subpackages or subpackage excludes.
<sourcepath> String - Specifies the source paths where the subpackages are located. The sourcepath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Javadoc option sourcepath.
User property is: sourcepath.
<sourcetab> int 2.1 Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default space is used.
See also: Doclet option sourcetab
User property is: sourcetab.
Alias is: linksourcetab.
<splitindex> boolean - Splits the index file into multiple files, alphabetically, one file per letter, plus a file for any index entries that start with non-alphabetical characters.
Note: could be in conflict with noindex.
See also: Doclet option splitindex.
Default value is: false.
User property is: splitindex.
<staleDataPath> File 3.2.0

Location of the file used to store the state of the previous javadoc run. This is used to skip the generation if nothing has changed.


Default value is: ${project.build.directory}/maven-javadoc-plugin-stale-data.txt.
User property is: staleDataPath.
<stylesheet> String - Deprecated. Specifies whether the stylesheet to be used is the maven's javadoc stylesheet or java's default stylesheet when a stylesheetfile parameter is not specified.
Possible values: maven or java.
Default value is: java.
User property is: stylesheet.
<stylesheetfile> String - Specifies the path of an alternate HTML stylesheet file.
The stylesheetfile could be an absolute File path.
Since 2.6, it could be also be a path from a resource in the current project source directories (i.e. src/main/java, src/main/resources or src/main/javadoc) or from a resource in the Javadoc plugin dependencies, for instance:
<stylesheetfile>path/to/your/resource/yourstylesheet.css</stylesheetfile>
Where path/to/your/resource/yourstylesheet.css could be in src/main/javadoc.
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <configuration>
        <stylesheetfile>path/to/your/resource/yourstylesheet.css</stylesheetfile>
        ...
      </configuration>
      <dependencies>
        <dependency>
          <groupId>groupId</groupId>
          <artifactId>artifactId</artifactId>
          <version>version</version>
        </dependency>
      </dependencies>
    </plugin>
    ...
  <plugins>
</build>
Where path/to/your/resource/yourstylesheet.css is defined in the groupId:artifactId:version javadoc plugin dependency.
See also: Doclet option stylesheetfile.
User property is: stylesheetfile.
<subpackages> String - Specifies the package directory where javadoc will be executed. Multiple packages can be separated by colons (:).
See also: Javadoc option subpackages.
User property is: subpackages.
<taglet> String - Specifies the class file that starts the taglet used in generating the documentation for that tag.
See also: Doclet option taglet.
User property is: taglet.
<tagletArtifact> TagletArtifact 2.1 Specifies the Taglet artifact containing the taglet class files (.class).
Example:
<taglets>
  <taglet>
    <tagletClass>com.sun.tools.doclets.ToDoTaglet</tagletClass>
  </taglet>
  <taglet>
    <tagletClass>package.to.AnotherTagletClass</tagletClass>
  </taglet>
  ...
</taglets>
<tagletArtifact>
  <groupId>group-Taglet</groupId>
  <artifactId>artifact-Taglet</artifactId>
  <version>version-Taglet</version>
</tagletArtifact>

See Javadoc.
See also: Doclet option tagletpath.
User property is: tagletArtifact.
<tagletArtifacts> TagletArtifact[] 2.5 Specifies several Taglet artifacts containing the taglet class files (.class). These taglets class names will be auto-detect and so no need to specify them.
Example:
<tagletArtifacts>
  <tagletArtifact>
    <groupId>group-Taglet</groupId>
    <artifactId>artifact-Taglet</artifactId>
    <version>version-Taglet</version>
  </tagletArtifact>
  ...
</tagletArtifacts>

See Javadoc.
See also: Doclet options taglet and tagletpath
User property is: tagletArtifacts.
<tagletpath> String - Specifies the search paths for finding taglet class files (.class). The tagletpath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Doclet option tagletpath.
User property is: tagletpath.
<taglets> Taglet[] 2.1 Enables the Javadoc tool to interpret multiple taglets.
Example:
<taglets>
  <taglet>
    <tagletClass>com.sun.tools.doclets.ToDoTaglet</tagletClass>
    <!--<tagletpath>/home/taglets</tagletpath>-->
    <tagletArtifact>
      <groupId>group-Taglet</groupId>
      <artifactId>artifact-Taglet</artifactId>
      <version>version-Taglet</version>
    </tagletArtifact>
  </taglet>
</taglets>

See Javadoc.

See also: Doclet options taglet and tagletpath
User property is: taglets.
<tags> Tag[] - Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments.
Example:
<tags>
  <tag>
    <name>todo</name>
    <placement>a</placement>
    <head>To Do:</head>
  </tag>
</tags>
Note: the placement should be a combinaison of Xaoptcmf letters:
  • X (disable tag)
  • a (all)
  • o (overview)
  • p (packages)
  • t (types, that is classes and interfaces)
  • c (constructors)
  • m (methods)
  • f (fields)
See Javadoc.
See also: Doclet option tag.
User property is: tags.
<top> String 2.4 Specifies the top text to be placed at the top of each output file.
See also: Java Bug 6227616., Doclet option top.
User property is: top.
<use> boolean - Includes one "Use" page for each documented class and package.
See also: Doclet option use.
Default value is: true.
User property is: use.
<useStandardDocletOptions> boolean 2.5 Specifies to use the options provided by the Standard Doclet for a custom doclet.
Example:
<docletArtifacts>
  <docletArtifact>
    <groupId>com.sun.tools.doclets</groupId>
    <artifactId>doccheck</artifactId>
    <version>1.2b2</version>
  </docletArtifact>
</docletArtifacts>
<useStandardDocletOptions>true</useStandardDocletOptions>

Default value is: true.
User property is: useStandardDocletOptions.
<validateLinks> boolean 2.8 Flag controlling content validation of package-list resources. If set, the content of package-list resources will be validated.
Default value is: false.
User property is: validateLinks.
<verbose> boolean - Provides more detailed messages while javadoc is running.
See also: Javadoc option verbose.
Default value is: false.
User property is: verbose.
<version> boolean - Includes the given version text in the generated docs.
See also: Doclet option version.
Default value is: true.
User property is: version.
<windowtitle> String - Specifies the title to be placed in the HTML title tag.
See also: Doclet option windowtitle.
Default value is: ${project.name} ${project.version} API.
User property is: windowtitle.

Parameter Details

<additionalDependencies>

Capability to add additional dependencies to the javadoc classpath. Example:
<additionalDependencies>
  <additionalDependency>
    <groupId>geronimo-spec</groupId>
    <artifactId>geronimo-spec-jta</artifactId>
    <version>1.0.1B-rc4</version>
  </additionalDependency>
</additionalDependencies>

<additionalJOption>

Sets additional Javadoc options (e.g. JVM options) on the command line. Example:
<additionalJOption>-J-Xss128m</additionalJOption>

See also: Javadoc Options, VM Options, Networking Properties
  • Type: java.lang.String
  • Since: 2.3
  • Required: No
  • User Property: additionalJOption

<additionalJOptions>

Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. Example:
    <additionalJOptions>
        <additionalJOption>-J-Xmx1g </additionalJOption>
    </additionalJOptions>

See also: additionalJOption
  • Type: java.lang.String[]
  • Since: 2.9
  • Required: No

<additionalOptions>

Set an additional option(s) on the command line. All input will be passed as-is to the @options file. You must take care of quoting and escaping. Useful for a custom doclet.
  • Type: java.lang.String[]
  • Since: 3.0.0
  • Required: No

<addStylesheets>

Specifies the path of an additional HTML stylesheet file relative to the javadocDirectory Example:
    <addStylesheets>
        <resources/addstylesheet.css</addStylesheet>
    </addStylesheets>
  • Type: java.lang.String[]
  • Since: 3.3.0
  • Required: No

<applyJavadocSecurityFix>

To apply a security fix on generated javadoc, see
  • Type: boolean
  • Since: 2.9.1
  • Required: No
  • User Property: maven.javadoc.applyJavadocSecurityFix
  • Default: true

<author>

Specifies whether or not the author text is included in the generated Javadocs.
See also: Doclet option author.
  • Type: boolean
  • Required: No
  • User Property: author
  • Default: true

<bootclasspath>

Specifies the paths where the boot classes reside. The bootclasspath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Javadoc option bootclasspath.
  • Type: java.lang.String
  • Since: 2.5
  • Required: No
  • User Property: bootclasspath

<bootclasspathArtifacts>

Specifies the artifacts where the boot classes reside.
Example:
<bootclasspathArtifacts>
  <bootclasspathArtifact>
    <groupId>my-groupId</groupId>
    <artifactId>my-artifactId</artifactId>
    <version>my-version</version>
  </bootclasspathArtifact>
</bootclasspathArtifacts>

See Javadoc.
See also: Javadoc option bootclasspath

<bottom>

Specifies the text to be placed at the bottom of each output file.
If you want to use html, you have to put it in a CDATA section,
e.g. <![CDATA[Copyright 2005, <a href="http://www.mycompany.com">MyCompany, Inc.<a>]]>
Note:If the project has the property project.build.outputTimestamp, its year will be used as {currentYear}. This way it is possible to generate reproducible javadoc jars.
See also: Doclet option bottom.
  • Type: java.lang.String
  • Required: No
  • User Property: bottom
  • Default: Copyright &#169; {inceptionYear}&#x2013;{currentYear} {organizationName}. All rights reserved.

<breakiterator>

Uses the sentence break iterator to determine the end of the first sentence.
See also: Javadoc option breakiterator.
  • Type: boolean
  • Required: No
  • User Property: breakiterator
  • Default: false

<charset>

Specifies the HTML character set for this document. If not specified, the charset value will be the value of the docencoding parameter.
See also: Doclet option charset.
  • Type: java.lang.String
  • Required: No
  • User Property: charset

<debug>

Set this to true to debug the Javadoc plugin. With this, javadoc.bat(or.sh), options, @packages or argfile files are provided in the output directory.
  • Type: boolean
  • Since: 2.1
  • Required: No
  • User Property: debug
  • Default: false

<dependencyLinks>

Redefine the apidoc URL for specific dependencies when using detectLinks. Useful if the dependency wasn't build with Maven or when the apidocs have been moved.
<dependencyLinks>
  <dependencyLink>
    <groupId>groupId</groupId>
    <artifactId>artifactId</artifactId>
    <classifier>classifier</classifier> <!-- optional -->
    <url>version</url>
  </dependencyLink>
</dependencyLinks>

See also: detectLinks

<dependencySourceExcludes>

List of excluded dependency-source patterns. Example: org.apache.maven.shared:*
See also: includeDependencySources
  • Type: java.util.List<java.lang.String>
  • Since: 2.7
  • Required: No

<dependencySourceIncludes>

List of included dependency-source patterns. Example: org.apache.maven:*
See also: includeDependencySources
  • Type: java.util.List<java.lang.String>
  • Since: 2.7
  • Required: No

<description>

The description of the Javadoc report to be displayed in the Maven Generated Reports page (i.e. project-reports.html).
  • Type: java.lang.String
  • Since: 2.1
  • Required: No
  • User Property: description

<destDir>

The name of the destination directory.
  • Type: java.lang.String
  • Since: 2.1
  • Required: No
  • User Property: destDir
  • Default: apidocs

<detectJavaApiLink>

Detect the Java API link for the current build, i.e. https://docs.oracle.com/javase/1.4.2/docs/api/ for Java source 1.4.
By default, the goal detects the Javadoc API link depending the value of the source parameter in the org.apache.maven.plugins:maven-compiler-plugin (defined in ${project.build.plugins} or in ${project.build.pluginManagement}), or try to compute it from the javadocExecutable version.
See also: links, javaApiLinks
  • Type: boolean
  • Since: 2.6
  • Required: No
  • User Property: detectJavaApiLink
  • Default: true

<detectLinks>

Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default Maven conventions, i.e.: ${project.url}/apidocs.
For instance, if the project has a dependency to Apache Commons Lang i.e.:
<dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
</dependency>
The added Javadoc -link parameter will be http://commons.apache.org/lang/apidocs.
See also: links, dependencyLinks
  • Type: boolean
  • Since: 2.6
  • Required: No
  • User Property: detectLinks
  • Default: false

<detectOfflineLinks>

Detect the links for all modules defined in the project.
If reactorProjects is defined in a non-aggregator way, it generates default offline links between modules based on the defined project's urls. For instance, if a parent project has two projects module1 and module2, the -linkoffline will be:
The added Javadoc -linkoffline parameter for module1 will be /absolute/path/to/module2/target/site/apidocs
The added Javadoc -linkoffline parameter for module2 will be /absolute/path/to/module1/target/site/apidocs
See also: offlineLinks
  • Type: boolean
  • Since: 2.6
  • Required: No
  • User Property: detectOfflineLinks
  • Default: true

<docencoding>

Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be UTF-8.
See also: Doclet option docencoding.
  • Type: java.lang.String
  • Required: No
  • User Property: docencoding
  • Default: ${project.reporting.outputEncoding}

<docfilessubdirs>

Enables deep copying of the **/doc-files directories and the specifc resources directory from the javadocDirectory directory (for instance, src/main/javadoc/com/mycompany/myapp/doc-files and src/main/javadoc/resources).
See also: Doclet option docfilessubdirs., excludedocfilessubdir, javadocDirectory
  • Type: boolean
  • Required: No
  • User Property: docfilessubdirs
  • Default: false

<doclet>

Specifies the class file that starts the doclet used in generating the documentation.
See also: Javadoc option doclet.
  • Type: java.lang.String
  • Required: No
  • User Property: doclet

<docletArtifact>

Specifies the artifact containing the doclet starting class file (specified with the doclet option).
Example:
<docletArtifact>
  <groupId>com.sun.tools.doclets</groupId>
  <artifactId>doccheck</artifactId>
  <version>1.2b2</version>
</docletArtifact>

See Javadoc.

See also: Javadoc option docletpath.

<docletArtifacts>

Specifies multiple artifacts containing the path for the doclet starting class file (specified with the doclet option).
Example:
<docletArtifacts>
  <docletArtifact>
    <groupId>com.sun.tools.doclets</groupId>
    <artifactId>doccheck</artifactId>
    <version>1.2b2</version>
  </docletArtifact>
</docletArtifacts>

See Javadoc.

See also: Javadoc option docletpath.

<docletPath>

Specifies the path to the doclet starting class file (specified with the doclet option) and any jar files it depends on. The docletPath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Javadoc option docletpath.
  • Type: java.lang.String
  • Required: No
  • User Property: docletPath

<doclint>

Specifies specific checks to be performed on Javadoc comments.
See also: Additional Doclet option Xdoclint.
  • Type: java.lang.String
  • Since: 3.0.0
  • Required: No
  • User Property: doclint

<doctitle>

Specifies the title to be placed near the top of the overview summary file.
See also: Doclet option doctitle.
  • Type: java.lang.String
  • Required: No
  • User Property: doctitle
  • Default: ${project.name} ${project.version} API

<encoding>

Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the file.encoding system property.
Note: In 2.4, the default value was locked to ISO-8859-1 to ensure reproducing build, but this was reverted in 2.5.
See also: Javadoc option encoding.
  • Type: java.lang.String
  • Required: No
  • User Property: encoding
  • Default: ${project.build.sourceEncoding}

<excludedocfilessubdir>

Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded by separating them with colons (:).
See also: Doclet option excludedocfilessubdir., docfilessubdirs
  • Type: java.lang.String
  • Required: No
  • User Property: excludedocfilessubdir

<excludePackageNames>

Unconditionally excludes the specified packages and their subpackages from the list formed by -subpackages. Multiple packages can be separated by commas (,), colons (:) or semicolons (;).

Wildcards work as followed:

  • a wildcard at the beginning should match 1 or more folders
  • any other wildcard must match exactly one folder

Example:
<excludePackageNames>*.internal:org.acme.exclude1.*:org.acme.exclude2</excludePackageNames>

See also: Javadoc option exclude.
  • Type: java.lang.String
  • Required: No
  • User Property: excludePackageNames

<extdirs>

Specifies the directories where extension classes reside. Separate directories in extdirs with a colon (:) or a semicolon (;).
See also: Javadoc option extdirs.
  • Type: java.lang.String
  • Required: No
  • User Property: extdirs

<failOnError>

Specifies if the build will fail if there are errors during javadoc execution or not.
  • Type: boolean
  • Since: 2.5
  • Required: No
  • User Property: maven.javadoc.failOnError
  • Default: true

<failOnWarnings>

Specifies if the build will fail if there are warning during javadoc execution or not.
  • Type: boolean
  • Since: 3.0.1
  • Required: No
  • User Property: maven.javadoc.failOnWarnings
  • Default: false

<footer>

Specifies the footer text to be placed at the bottom of each output file.
See also: Doclet option footer.
  • Type: java.lang.String
  • Required: No
  • User Property: footer

<groups>

Separates packages on the overview page into whatever groups you specify, one group per table. The packages pattern can be any package name, or can be the start of any package name followed by an asterisk (*) meaning "match any characters". Multiple patterns can be included in a group by separating them with colons (:).
Example:
<groups>
  <group>
    <title>Core Packages</title>
    <!-- To includes java.lang, java.lang.ref,
    java.lang.reflect and only java.util
    (i.e. not java.util.jar) -->
    <packages>java.lang*:java.util</packages>
  </group>
  <group>
    <title>Extension Packages</title>
     <!-- To include javax.accessibility,
    javax.crypto, ... (among others) -->
    <packages>javax.*</packages>
  </group>
</groups>
Note: using java.lang.* for packages would omit the java.lang package but using java.lang* will include it.
See also: Doclet option group., org.apache.maven.plugins.javadoc.options.Group

<header>

Specifies the header text to be placed at the top of each output file.
See also: Doclet option header.
  • Type: java.lang.String
  • Required: No
  • User Property: header

<helpfile>

Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom navigation bars link to.
Note: could be in conflict with <nohelp/>.
The helpfile could be an absolute File path.
Since 2.6, it could be also be a path from a resource in the current project source directories (i.e. src/main/java, src/main/resources or src/main/javadoc) or from a resource in the Javadoc plugin dependencies, for instance:
<helpfile>path/to/your/resource/yourhelp-doc.html</helpfile>
Where path/to/your/resource/yourhelp-doc.html could be in src/main/javadoc.
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <configuration>
        <helpfile>path/to/your/resource/yourhelp-doc.html</helpfile>
        ...
      </configuration>
      <dependencies>
        <dependency>
          <groupId>groupId</groupId>
          <artifactId>artifactId</artifactId>
          <version>version</version>
        </dependency>
      </dependencies>
    </plugin>
    ...
  <plugins>
</build>
Where path/to/your/resource/yourhelp-doc.html is defined in the groupId:artifactId:version javadoc plugin dependency.
See also: Doclet option helpfile.
  • Type: java.lang.String
  • Required: No
  • User Property: helpfile

<includeDependencySources>

Whether dependency -sources jars should be resolved and included as source paths for javadoc generation. This is useful when creating javadocs for a distribution project.
  • Type: boolean
  • Since: 2.7
  • Required: No
  • Default: false

<includeTransitiveDependencySources>

Deprecated. if these sources depend on transitive dependencies, those dependencies should be added to the pom as direct dependencies
Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc run.
See also: includeDependencySources
  • Type: boolean
  • Since: 2.7
  • Required: No
  • Default: false

<javaApiLinks>

Use this parameter only if if you want to override the default URLs. The key should match api_x, where x matches the Java version. For example:
api_1.5
https://docs.oracle.com/javase/1.5.0/docs/api/
api_1.8
https://docs.oracle.com/javase/8/docs/api/
api_9
https://docs.oracle.com/javase/9/docs/api/
  • Type: java.util.Properties
  • Since: 2.6
  • Required: No
  • User Property: javaApiLinks

<javadocDirectory>

Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...).
Could be used in addition of docfilessubdirs parameter.
See docfilessubdirs.
See also: docfilessubdirs
  • Type: java.io.File
  • Since: 2.1
  • Required: No
  • Default: ${basedir}/src/main/javadoc

<javadocExecutable>

Sets the absolute path of the Javadoc Tool executable to use. Since version 2.5, a mere directory specification is sufficient to have the plugin use "javadoc" or "javadoc.exe" respectively from this directory.
  • Type: java.lang.String
  • Since: 2.3
  • Required: No
  • User Property: javadocExecutable

<javadocVersion>

Version of the Javadoc Tool executable to use, ex. "1.3", "1.5".
  • Type: java.lang.String
  • Since: 2.3
  • Required: No
  • User Property: javadocVersion

<jdkToolchain>

Allow for configuration of the javadoc tool via maven toolchains. This overrules the toolchain selected by the maven-toolchain-plugin.

Examples:

(see Guide to Toolchains for more info)
   <configuration>
       ...
       <jdkToolchain>
           <version>11</version>
       </jdkToolchain>
   </configuration>

   <configuration>
       ...
       <jdkToolchain>
           <version>1.8</version>
           <vendor>zulu</vendor>
       </jdkToolchain>
   </configuration>
   
note: requires at least Maven 3.3.1
  • Type: java.util.Map<java.lang.String, java.lang.String>
  • Since: 3.0.0
  • Required: No

<keywords>

Adds HTML meta keyword tags to the generated file for each class.
See also: Doclet option keywords.
  • Type: boolean
  • Since: 2.1
  • Required: No
  • User Property: keywords
  • Default: false

<legacyMode>

Run the javadoc tool in pre-Java 9 (non-modular) style even if the java version is post java 9. This allows non-JPMS projects that have moved to newer Java versions to create javadocs without having to use JPMS modules.
  • Type: boolean
  • Since: 3.6.0
  • Required: No
  • User Property: legacyMode
  • Default: false

<links>

Creates links to existing javadoc-generated documentation of external referenced classes.

Notes:

  1. This option is ignored if the plugin is run in offline mode (using the <offline> setting or specifying -o, --offline or -Dmaven.javadoc.offline=true on the command line.
  2. all given links should have a fetchable /package-list or /element-list (since Java 10). For instance:
    <links>
      <link>https://docs.oracle.com/en/java/javase/17/docs/api</link>
    <links>
    
    will be used because https://docs.oracle.com/en/java/javase/17/docs/api/element-list exists.
  3. If detectLinks is defined, the links between the project dependencies are automatically added.
  4. If detectJavaApiLink is defined, a Java API link, based on the Java version of the project's sources, will be added automatically.

See also: Doclet option link
  • Type: java.util.ArrayList<java.lang.String>
  • Required: No
  • User Property: links

<linksource>

Creates an HTML version of each source file (with line numbers) and adds links to them from the standard HTML documentation.
See also: Doclet option linksource/a>.
  • Type: boolean
  • Required: No
  • User Property: linksource
  • Default: false

<locale>

Specifies the locale that javadoc uses when generating documentation.
See also: Javadoc option locale.
  • Type: java.lang.String
  • Required: No
  • User Property: locale

<maxmemory>

Specifies the maximum Java heap size to be used when launching the Javadoc tool. JVMs refer to this property as the -Xmx parameter. Example: '512' or '512m'. The memory unit depends on the JVM used. The units supported could be: k, kb, m, mb, g, gb, t, tb. If no unit specified, the default unit is m.
  • Type: java.lang.String
  • Required: No
  • User Property: maxmemory

<minmemory>

Specifies the minimum Java heap size to be used when launching the Javadoc tool. JVMs refer to this property as the -Xms parameter. Example: '512' or '512m'. The memory unit depends on the JVM used. The units supported could be: k, kb, m, mb, g, gb, t, tb. If no unit specified, the default unit is m.
  • Type: java.lang.String
  • Required: No
  • User Property: minmemory

<name>

The name of the Javadoc report to be displayed in the Maven Generated Reports page (i.e. project-reports.html).
  • Type: java.lang.String
  • Since: 2.1
  • Required: No
  • User Property: name

<nocomment>

Suppress the entire comment body, including the main description and all tags, generating only declarations.
See also: Doclet option nocomment.
  • Type: boolean
  • Required: No
  • User Property: nocomment
  • Default: false

<nodeprecated>

Prevents the generation of any deprecated API at all in the documentation.
See also: Doclet option nodeprecated.
  • Type: boolean
  • Required: No
  • User Property: nodeprecated
  • Default: false

<nodeprecatedlist>

Prevents the generation of the file containing the list of deprecated APIs (deprecated-list.html) and the link in the navigation bar to that page.
See also: Doclet option nodeprecatedlist.
  • Type: boolean
  • Required: No
  • User Property: nodeprecatedlist
  • Default: false

<nohelp>

Omits the HELP link in the navigation bars at the top and bottom of each page of output.
Note: could be in conflict with helpfile.
See also: Doclet option nohelp.
  • Type: boolean
  • Required: No
  • User Property: nohelp
  • Default: false

<noindex>

Omits the index from the generated docs.
Note: could be in conflict with splitindex
See also: Doclet option noindex.
  • Type: boolean
  • Required: No
  • User Property: noindex
  • Default: false

<nonavbar>

Omits the navigation bar from the generated docs.
See also: Doclet option nonavbar.
  • Type: boolean
  • Required: No
  • User Property: nonavbar
  • Default: false

<nooverview>

Omits the entire overview page from the generated docs.
Note: could be in conflict with overview.
Standard Doclet undocumented option.
  • Type: boolean
  • Since: 2.4
  • Required: No
  • User Property: nooverview
  • Default: false

<noqualifier>

Omits qualifying package name from ahead of class names in output. Example:
<noqualifier>all</noqualifier>
or
<noqualifier>packagename1:packagename2</noqualifier>

See also: Doclet option noqualifier.
  • Type: java.lang.String
  • Required: No
  • User Property: noqualifier

<nosince>

Omits from the generated docs the "Since" sections associated with the since tags.
See also: Doclet option nosince.
  • Type: boolean
  • Required: No
  • User Property: nosince
  • Default: false

<notimestamp>

Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page.

Note: If the project has the property project.build.outputTimestamp, the value will be overwritten to true. This way it is possible to generate reproducible javadoc jars.
See also: Doclet option notimestamp.
  • Type: boolean
  • Since: 2.1
  • Required: No
  • User Property: notimestamp
  • Default: false

<notree>

Omits the class/interface hierarchy pages from the generated docs.
See also: Doclet option notree
  • Type: boolean
  • Required: No
  • User Property: notree
  • Default: false

<offline>

Specify if the Javadoc plugin should operate in offline mode. If maven is run in offline mode (using -o or --offline on the command line), this option has no effect and the plugin is always in offline mode.
  • Type: boolean
  • Since: 3.6.0
  • Required: No
  • User Property: maven.javadoc.offline
  • Default: false

<offlineLinks>

This option is a variation of links; they both create links to javadoc-generated documentation for external referenced classes.
Example:
<offlineLinks>
  <offlineLink>
    <url>https://docs.oracle.com/javase/1.5.0/docs/api/</url>
    <location>../javadoc/jdk-5.0/</location>
  </offlineLink>
</offlineLinks>

Note: if detectOfflineLinks is defined, the offline links between the project modules are automatically added if the goal is calling in a non-aggregator way.
See also: org.apache.maven.plugins.javadoc.options.OfflineLink, Doclet option linkoffline

<old>

This option creates documentation with the appearance and functionality of documentation generated by Javadoc 1.1. This is no longer supported since Javadoc 1.4 (shipped with JDK 1.4)
See also: Javadoc option 1.1.
  • Type: boolean
  • Required: No
  • User Property: old
  • Default: false

<outputDirectory>

Specifies the destination directory where javadoc saves the generated HTML files.
See also: Doclet option d
  • Type: java.io.File
  • Required: Yes
  • User Property: destDir
  • Default: ${project.build.directory}/apidocs
  • Alias: destDir

<outputTimestamp>

Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
  • Type: java.lang.String
  • Since: 3.2.0
  • Required: No
  • Default: ${project.build.outputTimestamp}

<overview>

Specifies that javadoc should retrieve the text for the overview documentation from the "source" file specified by path/filename and place it on the Overview page (overview-summary.html).
Note: could be in conflict with nooverview.
See also: Javadoc option overview.
  • Type: java.io.File
  • Required: No
  • User Property: overview
  • Default: ${basedir}/src/main/javadoc/overview.html

<packagesheader>

Specify the text for upper left frame.
See also: Bug Report about missing documentation
  • Type: java.lang.String
  • Since: 2.1
  • Required: No
  • User Property: packagesheader

<quiet>

Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them easier to view.
Note: was a standard doclet in Java 1.4.2 (refer to bug ID 4714350).
Since Java 5.0.
See also: Javadoc option quiet.
  • Type: boolean
  • Required: No
  • User Property: quiet
  • Default: false

<release>

Provide source compatibility with specified release
See also: Javadoc option release.
  • Type: java.lang.String
  • Since: JDK 9
  • Required: No
  • Default: ${maven.compiler.release}

<reportOutputDirectory>

Specifies the destination directory where javadoc saves the generated HTML files.
  • Type: java.io.File
  • Required: Yes
  • User Property: reportOutputDirectory
  • Default: ${project.reporting.outputDirectory}/apidocs

<resourcesArtifacts>

A list of artifacts containing resources which should be copied into the Javadoc output directory (like stylesheets, icons, etc.).
Example:
<resourcesArtifacts>
  <resourcesArtifact>
    <groupId>external.group.id</groupId>
    <artifactId>external-resources</artifactId>
    <version>1.0</version>
  </resourcesArtifact>
</resourcesArtifacts>

See Javadoc.

<serialwarn>

Generates compile-time warnings for missing serial tags.
See also: Doclet option serialwarn
  • Type: boolean
  • Required: No
  • User Property: serialwarn
  • Default: false

<show>

Specifies the access level for classes and members to show in the Javadocs. Possible values are:
  • public (shows only public classes and members)
  • protected (shows only public and protected classes and members)
  • package (shows all classes and members not marked private)
  • private (shows all classes and members)

See also: Javadoc options private, protected, public and package
  • Type: java.lang.String
  • Required: No
  • User Property: show
  • Default: protected

<skip>

Specifies whether the Javadoc generation should be skipped.
  • Type: boolean
  • Since: 2.5
  • Required: No
  • User Property: maven.javadoc.skip
  • Default: false

<skippedModules>

Comma separated list of modules (artifactId) to not add in aggregated javadoc

  • Type: java.lang.String
  • Since: 3.2.0
  • Required: No
  • User Property: maven.javadoc.skippedModules

<source>

Provide source compatibility with specified release. Since JDK 9 rather use release.
See also: Javadoc option source.
  • Type: java.lang.String
  • Required: No
  • User Property: source
  • Default: ${maven.compiler.source}

<sourceDependencyCacheDir>

Directory where unpacked project sources / test-sources should be cached.
See also: includeDependencySources
  • Type: java.io.File
  • Since: 2.7
  • Required: No
  • Default: ${project.build.directory}/distro-javadoc-sources

<sourceFileExcludes>

exclude filters on the source files. These are ignored if you specify subpackages or subpackage excludes.
  • Type: java.util.List<java.lang.String>
  • Since: 2.9
  • Required: No

<sourceFileIncludes>

Include filters on the source files. Default is **\/\*.java. These are ignored if you specify subpackages or subpackage excludes.
  • Type: java.util.List<java.lang.String>
  • Since: 2.9
  • Required: No

<sourcepath>

Specifies the source paths where the subpackages are located. The sourcepath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Javadoc option sourcepath.
  • Type: java.lang.String
  • Required: No
  • User Property: sourcepath

<sourcetab>

Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default space is used.
See also: Doclet option sourcetab
  • Type: int
  • Since: 2.1
  • Required: No
  • User Property: sourcetab
  • Alias: linksourcetab

<splitindex>

Splits the index file into multiple files, alphabetically, one file per letter, plus a file for any index entries that start with non-alphabetical characters.
Note: could be in conflict with noindex.
See also: Doclet option splitindex.
  • Type: boolean
  • Required: No
  • User Property: splitindex
  • Default: false

<staleDataPath>

Location of the file used to store the state of the previous javadoc run. This is used to skip the generation if nothing has changed.

  • Type: java.io.File
  • Since: 3.2.0
  • Required: No
  • User Property: staleDataPath
  • Default: ${project.build.directory}/maven-javadoc-plugin-stale-data.txt

<stylesheet>

Deprecated. This is no longer evaluated, instead use addStylesheets to customize the CSS.
Specifies whether the stylesheet to be used is the maven's javadoc stylesheet or java's default stylesheet when a stylesheetfile parameter is not specified.
Possible values: maven or java.
  • Type: java.lang.String
  • Required: No
  • User Property: stylesheet
  • Default: java

<stylesheetfile>

Specifies the path of an alternate HTML stylesheet file.
The stylesheetfile could be an absolute File path.
Since 2.6, it could be also be a path from a resource in the current project source directories (i.e. src/main/java, src/main/resources or src/main/javadoc) or from a resource in the Javadoc plugin dependencies, for instance:
<stylesheetfile>path/to/your/resource/yourstylesheet.css</stylesheetfile>
Where path/to/your/resource/yourstylesheet.css could be in src/main/javadoc.
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <configuration>
        <stylesheetfile>path/to/your/resource/yourstylesheet.css</stylesheetfile>
        ...
      </configuration>
      <dependencies>
        <dependency>
          <groupId>groupId</groupId>
          <artifactId>artifactId</artifactId>
          <version>version</version>
        </dependency>
      </dependencies>
    </plugin>
    ...
  <plugins>
</build>
Where path/to/your/resource/yourstylesheet.css is defined in the groupId:artifactId:version javadoc plugin dependency.
See also: Doclet option stylesheetfile.
  • Type: java.lang.String
  • Required: No
  • User Property: stylesheetfile

<subpackages>

Specifies the package directory where javadoc will be executed. Multiple packages can be separated by colons (:).
See also: Javadoc option subpackages.
  • Type: java.lang.String
  • Required: No
  • User Property: subpackages

<taglet>

Specifies the class file that starts the taglet used in generating the documentation for that tag.
See also: Doclet option taglet.
  • Type: java.lang.String
  • Required: No
  • User Property: taglet

<tagletArtifact>

Specifies the Taglet artifact containing the taglet class files (.class).
Example:
<taglets>
  <taglet>
    <tagletClass>com.sun.tools.doclets.ToDoTaglet</tagletClass>
  </taglet>
  <taglet>
    <tagletClass>package.to.AnotherTagletClass</tagletClass>
  </taglet>
  ...
</taglets>
<tagletArtifact>
  <groupId>group-Taglet</groupId>
  <artifactId>artifact-Taglet</artifactId>
  <version>version-Taglet</version>
</tagletArtifact>

See Javadoc.
See also: Doclet option tagletpath.

<tagletArtifacts>

Specifies several Taglet artifacts containing the taglet class files (.class). These taglets class names will be auto-detect and so no need to specify them.
Example:
<tagletArtifacts>
  <tagletArtifact>
    <groupId>group-Taglet</groupId>
    <artifactId>artifact-Taglet</artifactId>
    <version>version-Taglet</version>
  </tagletArtifact>
  ...
</tagletArtifacts>

See Javadoc.
See also: Doclet options taglet and tagletpath

<tagletpath>

Specifies the search paths for finding taglet class files (.class). The tagletpath can contain multiple paths by separating them with a colon (:) or a semicolon (;).
See also: Doclet option tagletpath.
  • Type: java.lang.String
  • Required: No
  • User Property: tagletpath

<taglets>

Enables the Javadoc tool to interpret multiple taglets.
Example:
<taglets>
  <taglet>
    <tagletClass>com.sun.tools.doclets.ToDoTaglet</tagletClass>
    <!--<tagletpath>/home/taglets</tagletpath>-->
    <tagletArtifact>
      <groupId>group-Taglet</groupId>
      <artifactId>artifact-Taglet</artifactId>
      <version>version-Taglet</version>
    </tagletArtifact>
  </taglet>
</taglets>

See Javadoc.

See also: Doclet options taglet and tagletpath

<tags>

Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments.
Example:
<tags>
  <tag>
    <name>todo</name>
    <placement>a</placement>
    <head>To Do:</head>
  </tag>
</tags>
Note: the placement should be a combinaison of Xaoptcmf letters:
  • X (disable tag)
  • a (all)
  • o (overview)
  • p (packages)
  • t (types, that is classes and interfaces)
  • c (constructors)
  • m (methods)
  • f (fields)
See Javadoc.
See also: Doclet option tag.

<top>

Specifies the top text to be placed at the top of each output file.
See also: Java Bug 6227616., Doclet option top.
  • Type: java.lang.String
  • Since: 2.4
  • Required: No
  • User Property: top

<use>

Includes one "Use" page for each documented class and package.
See also: Doclet option use.
  • Type: boolean
  • Required: No
  • User Property: use
  • Default: true

<useStandardDocletOptions>

Specifies to use the options provided by the Standard Doclet for a custom doclet.
Example:
<docletArtifacts>
  <docletArtifact>
    <groupId>com.sun.tools.doclets</groupId>
    <artifactId>doccheck</artifactId>
    <version>1.2b2</version>
  </docletArtifact>
</docletArtifacts>
<useStandardDocletOptions>true</useStandardDocletOptions>
  • Type: boolean
  • Since: 2.5
  • Required: No
  • User Property: useStandardDocletOptions
  • Default: true

<validateLinks>

Flag controlling content validation of package-list resources. If set, the content of package-list resources will be validated.
  • Type: boolean
  • Since: 2.8
  • Required: No
  • User Property: validateLinks
  • Default: false

<verbose>

Provides more detailed messages while javadoc is running.
See also: Javadoc option verbose.
  • Type: boolean
  • Required: No
  • User Property: verbose
  • Default: false

<version>

Includes the given version text in the generated docs.
See also: Doclet option version.
  • Type: boolean
  • Required: No
  • User Property: version
  • Default: true

<windowtitle>

Specifies the title to be placed in the HTML title tag.
See also: Doclet option windowtitle.
  • Type: java.lang.String
  • Required: No
  • User Property: windowtitle
  • Default: ${project.name} ${project.version} API