javadoc:javadoc

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

Full name:

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

Description:

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

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: compile.
  • 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 2.0 Specifies the destination directory where javadoc saves the generated HTML files.

Default value is: ${project.build.directory}/apidocs.
User property is: destDir.
Alias is: destDir.
<reportOutputDirectory> File 2.0 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
<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>

<additionalDependencies> List 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 Set an additional Javadoc option(s) (i.e. JVM options) on the command line. Example:
<additionalJOption>-J-Xss128m</additionalJOption>
See Jflag.
See vmoptions.
See Networking Properties.
User property is: additionalJOption.
<additionalJOptions> String[] 2.9 Set additional JVM options for the execution of the javadoc command via the '-J' option to javadoc. Example:
    <additionalJOptions>
        <additionalJOption>-J-Xmx1g </additionalJOption>
    </additionalJOptions>

<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.
<applyJavadocSecurityFix> boolean 2.9.1 To apply the security fix on generated javadoc see http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571
Default value is: true.
User property is: maven.javadoc.applyJavadocSecurityFix.
<author> boolean 2.0 Specifies whether or not the author text is included in the generated Javadocs.
See 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 semi-colon (;).
See bootclasspath.
User property is: bootclasspath.
<bootclasspathArtifacts> BootclasspathArtifact[] 2.5 Specifies the artifacts where the boot classes reside.
See bootclasspath.
Example:
<bootclasspathArtifacts>
  <bootclasspathArtifact>
    <groupId>my-groupId</groupId>
    <artifactId>my-artifactId</artifactId>
    <version>my-version</version>
  </bootclasspathArtifact>
</bootclasspathArtifacts>

See Javadoc.

User property is: bootclasspathArtifacts.
<bottom> String 2.0 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 bottom.

Default value is: Copyright &#169; {inceptionYear}&#x2013;{currentYear} {organizationName}. All rights reserved..
User property is: bottom.
<breakiterator> boolean 2.0 Uses the sentence break iterator to determine the end of the first sentence.
See breakiterator.
Since Java 1.4.

Default value is: false.
User property is: breakiterator.
<charset> String 2.0 Specifies the HTML character set for this document. If not specificed, the charset value will be the value of the docencoding parameter.
See 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 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>

<dependencySourceExcludes> List 2.7 List of excluded dependency-source patterns. Example: org.apache.maven.shared:*
<dependencySourceIncludes> List 2.7 List of included dependency-source patterns. Example: org.apache.maven:*
<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.
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.
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
Default value is: true.
User property is: detectOfflineLinks.
<docencoding> String 2.0 Specifies the encoding of the generated HTML files. If not specificed, the docencoding value will be UTF-8.
See docencoding.
Default value is: ${project.reporting.outputEncoding}.
User property is: docencoding.
<docfilessubdirs> boolean 2.0 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 docfilessubdirs.
Since Java 1.4.
See javadocDirectory.

Default value is: false.
User property is: docfilessubdirs.
<doclet> String 2.0 Specifies the class file that starts the doclet used in generating the documentation.
See doclet.
User property is: doclet.
<docletArtifact> DocletArtifact 2.0 Specifies the artifact containing the doclet starting class file (specified with the -doclet option).
See docletpath.
Example:
<docletArtifact>
  <groupId>com.sun.tools.doclets</groupId>
  <artifactId>doccheck</artifactId>
  <version>1.2b2</version>
</docletArtifact>

See Javadoc.

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).
See docletpath.
Example:
<docletArtifacts>
  <docletArtifact>
    <groupId>com.sun.tools.doclets</groupId>
    <artifactId>doccheck</artifactId>
    <version>1.2b2</version>
  </docletArtifact>
</docletArtifacts>

See Javadoc.

User property is: docletArtifacts.
<docletPath> String 2.0 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 semi-colon (;).
See docletpath.
User property is: docletPath.
<doclint> String 3.0.0 Specifies specific checks to be performed on Javadoc comments.
See doclint.
User property is: doclint.
<doctitle> String 2.0 Specifies the title to be placed near the top of the overview summary file.
See doctitle.

Default value is: ${project.name} ${project.version} API.
User property is: doctitle.
<encoding> String 2.0 Specifies the encoding name of the source files. If not specificed, the encoding value will be the value of the file.encoding system property.
See encoding.
Note: In 2.4, the default value was locked to ISO-8859-1 to ensure reproducing build, but this was reverted in 2.5.

Default value is: ${project.build.sourceEncoding}.
User property is: encoding.
<excludePackageNames> String 2.0 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 exclude.
Since Java 1.4.


User property is: excludePackageNames.
<excludedocfilessubdir> String 2.0 Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded by separating them with colons (:).
See excludedocfilessubdir.
Since Java 1.4.
User property is: excludedocfilessubdir.
<extdirs> String 2.0 Specifies the directories where extension classes reside. Separate directories in extdirs with a colon (:) or a semi-colon (;).
See 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 2.0 Specifies the footer text to be placed at the bottom of each output file.
See footer.
User property is: footer.
<groups> Group[] 2.0 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 group.
See Javadoc.

<header> String 2.0 Specifies the header text to be placed at the top of each output file.
See header.
User property is: header.
<helpfile> String 2.0 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 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. if these sources depend on transitive dependencies, those dependencies should be added to the pom as direct dependencies
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.
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 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 keywords.
Since Java 1.4.2.
Since Java 5.0.

Default value is: false.
User property is: keywords.
<links> ArrayList 2.0 Creates links to existing javadoc-generated documentation of external referenced classes.
Notes:
  1. only used if isOffline is set to false.
  2. all given links should have a fetchable /package-list file. For instance:
    <links>
      <link>https://docs.oracle.com/javase/1.4.2/docs/api</link>
    <links>
    
    will be used because https://docs.oracle.com/javase/1.4.2/docs/api/package-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 link.
User property is: links.
<linksource> boolean 2.0 Creates an HTML version of each source file (with line numbers) and adds links to them from the standard HTML documentation.
See linksource.
Since Java 1.4.

Default value is: false.
User property is: linksource.
<localRepository> ArtifactRepository 2.0 The local repository where the artifacts are located.
User property is: localRepository.
<locale> String 2.0 Specifies the locale that javadoc uses when generating documentation.
See locale.
User property is: locale.
<maxmemory> String 2.0 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 2.0 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 2.0 Suppress the entire comment body, including the main description and all tags, generating only declarations.
See nocomment.
Since Java 1.4.

Default value is: false.
User property is: nocomment.
<nodeprecated> boolean 2.0 Prevents the generation of any deprecated API at all in the documentation.
See nodeprecated.

Default value is: false.
User property is: nodeprecated.
<nodeprecatedlist> boolean 2.0 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 nodeprecatedlist.

Default value is: false.
User property is: nodeprecatedlist.
<nohelp> boolean 2.0 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 nohelp.

Default value is: false.
User property is: nohelp.
<noindex> boolean 2.0 Omits the index from the generated docs.
Note: could be in conflict with <splitindex/>.
See noindex.

Default value is: false.
User property is: noindex.
<nonavbar> boolean 2.0 Omits the navigation bar from the generated docs.
See 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 2.0 Omits qualifying package name from ahead of class names in output. Example:
<noqualifier>all</noqualifier>
or
<noqualifier>packagename1:packagename2</noqualifier>
See noqualifier.
Since Java 1.4.
User property is: noqualifier.
<nosince> boolean 2.0 Omits from the generated docs the "Since" sections associated with the since tags.
See 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 notimestamp.
Since Java 5.0.
Default value is: false.
User property is: notimestamp.
<notree> boolean 2.0 Omits the class/interface hierarchy pages from the generated docs.

Default value is: false.
User property is: notree.
<offlineLinks> OfflineLink[] 2.0 This option is a variation of -link; they both create links to javadoc-generated documentation for external referenced classes.
See linkoffline.
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.

User property is: offlineLinks.
<old> boolean 2.0 This option creates documentation with the appearance and functionality of documentation generated by Javadoc 1.1.
See 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 2.0 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 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.
Since Java 1.4.2.
User property is: packagesheader.
<quiet> boolean 2.0 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).
See quiet.
Since Java 5.0.

Default value is: false.
User property is: quiet.
<release> String JDK 9 Provide source compatibility with specified 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 2.0 Generates compile-time warnings for missing serial tags.

Default value is: false.
User property is: serialwarn.
<show> String 2.0 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)


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 2.0 Necessary to enable javadoc to handle assertions introduced in J2SE v 1.4 source code or generics introduced in J2SE v5.
See source.
Since Java 1.4.
Default value is: ${maven.compiler.source}.
User property is: source.
<sourceDependencyCacheDir> File 2.7 Directory where unpacked project sources / test-sources should be cached.
Default value is: ${project.build.directory}/distro-javadoc-sources.
<sourceFileExcludes> List 2.9 exclude filters on the source files. These are ignored if you specify subpackages or subpackage excludes.
<sourceFileIncludes> List 2.9 Include filters on the source files. Default is **\/\*.java. These are ignored if you specify subpackages or subpackage excludes.
<sourcepath> String 2.0 Specifies the source paths where the subpackages are located. The sourcepath can contain multiple paths by separating them with a colon (:) or a semi-colon (;).
See 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.
Note: was linksourcetab in Java 1.4.2 (refer to bug ID 4788919).
Since 1.4.2.
Since Java 5.0.
User property is: sourcetab.
Alias is: linksourcetab.
<splitindex> boolean 2.0 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 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 2.0 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 2.0 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 stylesheetfile.
User property is: stylesheetfile.
<subpackages> String 2.0 Specifies the package directory where javadoc will be executed. Multiple packages can be separated by colons (:).
See subpackages.
Since Java 1.4.
User property is: subpackages.
<taglet> String 2.0 Specifies the class file that starts the taglet used in generating the documentation for that tag.
See taglet.
Since Java 1.4.
User property is: taglet.
<tagletArtifact> TagletArtifact 2.1 Specifies the Taglet artifact containing the taglet class files (.class).
See tagletpath.
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.

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.
See taglet.
See tagletpath.
Example:
<tagletArtifacts>
  <tagletArtifact>
    <groupId>group-Taglet</groupId>
    <artifactId>artifact-Taglet</artifactId>
    <version>version-Taglet</version>
  </tagletArtifact>
  ...
</tagletArtifacts>

See Javadoc.

User property is: tagletArtifacts.
<tagletpath> String 2.0 Specifies the search paths for finding taglet class files (.class). The tagletpath can contain multiple paths by separating them with a colon (:) or a semi-colon (;).
See tagletpath.
Since Java 1.4.
User property is: tagletpath.
<taglets> Taglet[] 2.1 Enables the Javadoc tool to interpret multiple taglets.
See taglet.
See tagletpath.
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.

User property is: taglets.
<tags> Tag[] 2.0 Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments.
See tag.
Since Java 1.4.
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.

User property is: tags.
<top> String 2.4 Specifies the top text to be placed at the top of each output file.
See 6227616.
Since Java 6.0
User property is: top.
<use> boolean 2.0 Includes one "Use" page for each documented class and package.
See 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 2.0 Provides more detailed messages while javadoc is running.
See verbose.

Default value is: false.
User property is: verbose.
<version> boolean 2.0 Includes the version text in the generated docs.
See version.

Default value is: true.
User property is: version.
<windowtitle> String 2.0 Specifies the title to be placed in the HTML title tag.
See windowtitle.

Default value is: ${project.name} ${project.version} API.
User property is: windowtitle.

Parameter Details

<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

<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>
  • Type: java.util.List
  • Since: 2.8.1
  • Required: No

<additionalJOption>

Set an additional Javadoc option(s) (i.e. JVM options) on the command line. Example:
<additionalJOption>-J-Xss128m</additionalJOption>
See Jflag.
See vmoptions.
See Networking Properties.
  • Type: java.lang.String
  • Since: 2.3
  • Required: No
  • User Property: additionalJOption

<additionalJOptions>

Set additional JVM options for the execution of the javadoc command via the '-J' option to javadoc. Example:
    <additionalJOptions>
        <additionalJOption>-J-Xmx1g </additionalJOption>
    </additionalJOptions>
  • 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

<applyJavadocSecurityFix>

To apply the security fix on generated javadoc see http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571
  • 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 author.
  • Type: boolean
  • Since: 2.0
  • 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 semi-colon (;).
See bootclasspath.
  • Type: java.lang.String
  • Since: 2.5
  • Required: No
  • User Property: bootclasspath

<bootclasspathArtifacts>

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

See Javadoc.
  • Type: org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[]
  • Since: 2.5
  • Required: No
  • User Property: bootclasspathArtifacts

<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 bottom.
  • Type: java.lang.String
  • Since: 2.0
  • 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 breakiterator.
Since Java 1.4.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: breakiterator
  • Default: false

<charset>

Specifies the HTML character set for this document. If not specificed, the charset value will be the value of the docencoding parameter.
See charset.
  • Type: java.lang.String
  • Since: 2.0
  • 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>
  • Type: java.util.List
  • Since: 3.3.0
  • Required: No

<dependencySourceExcludes>

List of excluded dependency-source patterns. Example: org.apache.maven.shared:*
  • Type: java.util.List
  • Since: 2.7
  • Required: No

<dependencySourceIncludes>

List of included dependency-source patterns. Example: org.apache.maven:*
  • Type: java.util.List
  • 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.
  • 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.
  • 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
  • Type: boolean
  • Since: 2.6
  • Required: No
  • User Property: detectOfflineLinks
  • Default: true

<docencoding>

Specifies the encoding of the generated HTML files. If not specificed, the docencoding value will be UTF-8.
See docencoding.
  • Type: java.lang.String
  • Since: 2.0
  • 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 docfilessubdirs.
Since Java 1.4.
See javadocDirectory.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: docfilessubdirs
  • Default: false

<doclet>

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

<docletArtifact>

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

See Javadoc.
  • Type: org.apache.maven.plugins.javadoc.options.DocletArtifact
  • Since: 2.0
  • Required: No
  • User Property: docletArtifact

<docletArtifacts>

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

See Javadoc.
  • Type: org.apache.maven.plugins.javadoc.options.DocletArtifact[]
  • Since: 2.1
  • Required: No
  • User Property: docletArtifacts

<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 semi-colon (;).
See docletpath.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: docletPath

<doclint>

Specifies specific checks to be performed on Javadoc comments.
See doclint.
  • 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 doctitle.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: doctitle
  • Default: ${project.name} ${project.version} API

<encoding>

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

<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 exclude.
Since Java 1.4.

  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludePackageNames

<excludedocfilessubdir>

Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded by separating them with colons (:).
See excludedocfilessubdir.
Since Java 1.4.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: excludedocfilessubdir

<extdirs>

Specifies the directories where extension classes reside. Separate directories in extdirs with a colon (:) or a semi-colon (;).
See extdirs.
  • Type: java.lang.String
  • Since: 2.0
  • 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 footer.
  • Type: java.lang.String
  • Since: 2.0
  • 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 group.
See Javadoc.
  • Type: org.apache.maven.plugins.javadoc.options.Group[]
  • Since: 2.0
  • Required: No

<header>

Specifies the header text to be placed at the top of each output file.
See header.
  • Type: java.lang.String
  • Since: 2.0
  • 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 helpfile.
  • Type: java.lang.String
  • Since: 2.0
  • 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.
  • 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.
  • 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
  • Since: 3.0.0
  • Required: No

<keywords>

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

<links>

Creates links to existing javadoc-generated documentation of external referenced classes.
Notes:
  1. only used if isOffline is set to false.
  2. all given links should have a fetchable /package-list file. For instance:
    <links>
      <link>https://docs.oracle.com/javase/1.4.2/docs/api</link>
    <links>
    
    will be used because https://docs.oracle.com/javase/1.4.2/docs/api/package-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 link.
  • Type: java.util.ArrayList
  • Since: 2.0
  • 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 linksource.
Since Java 1.4.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: linksource
  • Default: false

<localRepository>

The local repository where the artifacts are located.
  • Type: org.apache.maven.artifact.repository.ArtifactRepository
  • Since: 2.0
  • Required: No
  • User Property: localRepository

<locale>

Specifies the locale that javadoc uses when generating documentation.
See locale.
  • Type: java.lang.String
  • Since: 2.0
  • 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
  • Since: 2.0
  • 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
  • Since: 2.0
  • 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 nocomment.
Since Java 1.4.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: nocomment
  • Default: false

<nodeprecated>

Prevents the generation of any deprecated API at all in the documentation.
See nodeprecated.
  • Type: boolean
  • Since: 2.0
  • 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 nodeprecatedlist.
  • Type: boolean
  • Since: 2.0
  • 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 nohelp.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: nohelp
  • Default: false

<noindex>

Omits the index from the generated docs.
Note: could be in conflict with <splitindex/>.
See noindex.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: noindex
  • Default: false

<nonavbar>

Omits the navigation bar from the generated docs.
See nonavbar.
  • Type: boolean
  • Since: 2.0
  • 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 noqualifier.
Since Java 1.4.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: noqualifier

<nosince>

Omits from the generated docs the "Since" sections associated with the since tags.
See nosince.
  • Type: boolean
  • Since: 2.0
  • 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 notimestamp.
Since Java 5.0.
  • Type: boolean
  • Since: 2.1
  • Required: No
  • User Property: notimestamp
  • Default: false

<notree>

Omits the class/interface hierarchy pages from the generated docs.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: notree
  • Default: false

<offlineLinks>

This option is a variation of -link; they both create links to javadoc-generated documentation for external referenced classes.
See linkoffline.
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.
  • Type: org.apache.maven.plugins.javadoc.options.OfflineLink[]
  • Since: 2.0
  • Required: No
  • User Property: offlineLinks

<old>

This option creates documentation with the appearance and functionality of documentation generated by Javadoc 1.1.
See 1.1.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: old
  • Default: false

<outputDirectory>

Specifies the destination directory where javadoc saves the generated HTML files.
  • Type: java.io.File
  • Since: 2.0
  • 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 overview.
  • Type: java.io.File
  • Since: 2.0
  • Required: No
  • User Property: overview
  • Default: ${basedir}/src/main/javadoc/overview.html

<packagesheader>

Specify the text for upper left frame.
Since Java 1.4.2.
  • 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).
See quiet.
Since Java 5.0.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: quiet
  • Default: false

<release>

Provide source compatibility with specified 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
  • Since: 2.0
  • 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.
  • Type: org.apache.maven.plugins.javadoc.options.ResourcesArtifact[]
  • Since: 2.5
  • Required: No
  • User Property: resourcesArtifacts

<serialwarn>

Generates compile-time warnings for missing serial tags.
  • Type: boolean
  • Since: 2.0
  • 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)

  • Type: java.lang.String
  • Since: 2.0
  • 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>

Necessary to enable javadoc to handle assertions introduced in J2SE v 1.4 source code or generics introduced in J2SE v5.
See source.
Since Java 1.4.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: source
  • Default: ${maven.compiler.source}

<sourceDependencyCacheDir>

Directory where unpacked project sources / test-sources should be cached.
  • 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
  • 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
  • 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 semi-colon (;).
See sourcepath.
  • Type: java.lang.String
  • Since: 2.0
  • 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.
Note: was linksourcetab in Java 1.4.2 (refer to bug ID 4788919).
Since 1.4.2.
Since Java 5.0.
  • 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 splitindex.
  • Type: boolean
  • Since: 2.0
  • 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>

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
  • Since: 2.0
  • 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 stylesheetfile.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: stylesheetfile

<subpackages>

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

<taglet>

Specifies the class file that starts the taglet used in generating the documentation for that tag.
See taglet.
Since Java 1.4.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: taglet

<tagletArtifact>

Specifies the Taglet artifact containing the taglet class files (.class).
See tagletpath.
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.
  • Type: org.apache.maven.plugins.javadoc.options.TagletArtifact
  • Since: 2.1
  • Required: No
  • User Property: tagletArtifact

<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.
See taglet.
See tagletpath.
Example:
<tagletArtifacts>
  <tagletArtifact>
    <groupId>group-Taglet</groupId>
    <artifactId>artifact-Taglet</artifactId>
    <version>version-Taglet</version>
  </tagletArtifact>
  ...
</tagletArtifacts>

See Javadoc.
  • Type: org.apache.maven.plugins.javadoc.options.TagletArtifact[]
  • Since: 2.5
  • Required: No
  • User Property: tagletArtifacts

<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 semi-colon (;).
See tagletpath.
Since Java 1.4.
  • Type: java.lang.String
  • Since: 2.0
  • Required: No
  • User Property: tagletpath

<taglets>

Enables the Javadoc tool to interpret multiple taglets.
See taglet.
See tagletpath.
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.
  • Type: org.apache.maven.plugins.javadoc.options.Taglet[]
  • Since: 2.1
  • Required: No
  • User Property: taglets

<tags>

Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments.
See tag.
Since Java 1.4.
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.
  • Type: org.apache.maven.plugins.javadoc.options.Tag[]
  • Since: 2.0
  • Required: No
  • User Property: tags

<top>

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

<use>

Includes one "Use" page for each documented class and package.
See use.
  • Type: boolean
  • Since: 2.0
  • 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 verbose.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: verbose
  • Default: false

<version>

Includes the version text in the generated docs.
See version.
  • Type: boolean
  • Since: 2.0
  • Required: No
  • User Property: version
  • Default: true

<windowtitle>

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