diff --git a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java index 7a2c72e4a..19585be35 100644 --- a/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java +++ b/modello-plugins/modello-plugin-xsd/src/main/java/org/codehaus/modello/plugin/xsd/XsdGenerator.java @@ -51,6 +51,10 @@ public class XsdGenerator extends AbstractXmlGenerator { + /** + * Value standing for any element name (used on xml.tagName) + */ + private static final String ANY_NAME = "*"; protected static final String LS = System.getProperty( "line.separator" ); public void generate( Model model, Properties parameters ) @@ -240,6 +244,15 @@ private void writeComplexTypeDescriptor( XMLWriter w, Model objectModel, ModelCl if ( !hasContentField ) { + if ( fieldTagName.equals( ANY_NAME ) ) + { + w.startElement( "xs:any" ); + w.addAttribute( "minOccurs", "0" ); + w.addAttribute( "maxOccurs", "unbounded" ); + w.addAttribute( "processContents", "skip" ); + w.endElement(); + continue; + } w.startElement( "xs:element" ); // Usually, would only do this if the field is not "required", but due to inheritance, it may be @@ -481,11 +494,19 @@ private void writeListElement( XMLWriter w, XmlFieldMetadata xmlFieldMetadata, w.startElement( "xs:sequence" ); - w.startElement( "xs:element" ); - w.addAttribute( "name", valuesTagName ); + if ( valuesTagName.equals( ANY_NAME ) ) + { + w.startElement( "xs:any" ); + w.addAttribute( "processContents", "skip" ); + } + else + { + w.startElement( "xs:element" ); + w.addAttribute( "type", type ); + w.addAttribute( "name", valuesTagName ); + } w.addAttribute( "minOccurs", "0" ); w.addAttribute( "maxOccurs", "unbounded" ); - w.addAttribute( "type", type ); w.endElement(); diff --git a/modello-plugins/modello-plugin-xsd/src/test/java/org/codehaus/modello/plugin/xsd/ModelloXsdGeneratorTest.java b/modello-plugins/modello-plugin-xsd/src/test/java/org/codehaus/modello/plugin/xsd/ModelloXsdGeneratorTest.java index 1aa4440b7..9393b1906 100644 --- a/modello-plugins/modello-plugin-xsd/src/test/java/org/codehaus/modello/plugin/xsd/ModelloXsdGeneratorTest.java +++ b/modello-plugins/modello-plugin-xsd/src/test/java/org/codehaus/modello/plugin/xsd/ModelloXsdGeneratorTest.java @@ -29,11 +29,9 @@ import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; -import java.io.File; import java.util.Properties; import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; /** * Check that features.mdo (which tries to be the most complete model) can be checked against XSD generated from @@ -60,24 +58,7 @@ public void testXsdGenerator() modello.generate( model, "xsd", parameters ); - /* only available in JAXP 1.3, JDK 5+ - SchemaFactory factory = SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI ); - Schema schema = factory.newSchema( new StreamSource( new File( generatedSources, "features.xsd" ) ) ); - - SAXParserFactory spf = SAXParserFactory.newInstance(); - spf.setSchema( schema ); - SAXParser parser = spf.newSAXParser(); - parser.parse( new InputSource( getClass().getResourceAsStream( "/features.xml" ) ) ); - */ - - SAXParserFactory factory = SAXParserFactory.newInstance(); - factory.setValidating( true ); - factory.setNamespaceAware( true ); - SAXParser saxParser = factory.newSAXParser(); - saxParser.setProperty( "http://java.sun.com/xml/jaxp/properties/schemaLanguage", - "http://www.w3.org/2001/XMLSchema" ); - saxParser.setProperty( "http://java.sun.com/xml/jaxp/properties/schemaSource", - new File( getOutputDirectory(), "modello-1.4.0.xsd" ) ); + SAXParser saxParser = createSaxParserWithSchema( "modello-1.4.0.xsd" ); // first self-test: validate Modello model with xsd generated from it saxParser.parse( getTestFile( "../../src/main/mdo/modello.mdo" ), new Handler() ); diff --git a/modello-plugins/modello-plugin-xsd/src/test/java/org/codehaus/modello/plugin/xsd/PluginsXsdGeneratorTest.java b/modello-plugins/modello-plugin-xsd/src/test/java/org/codehaus/modello/plugin/xsd/PluginsXsdGeneratorTest.java new file mode 100644 index 000000000..af5ae917f --- /dev/null +++ b/modello-plugins/modello-plugin-xsd/src/test/java/org/codehaus/modello/plugin/xsd/PluginsXsdGeneratorTest.java @@ -0,0 +1,68 @@ +package org.codehaus.modello.plugin.xsd; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; + +import java.io.IOException; +import java.util.Properties; + +import org.codehaus.modello.AbstractModelloGeneratorTest; +import org.codehaus.modello.ModelloException; +import org.codehaus.modello.core.ModelloCore; +import org.codehaus.modello.model.Model; +import org.codehaus.modello.model.ModelValidationException; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.junit.Test; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * Test that the Maven plugin descriptor + * generates an XSD which can validate plugin descriptors (with arbitrary element names below {@code }). + * @see Issue 264 + * + */ +public class PluginsXsdGeneratorTest + extends AbstractModelloGeneratorTest +{ + + public PluginsXsdGeneratorTest() + { + super( "plugins" ); + } + + @Test + public void testWithNameWildcard() + throws ModelloException, ModelValidationException, IOException, ComponentLookupException, + ParserConfigurationException, SAXException + { + ModelloCore modello = (ModelloCore) lookup( ModelloCore.ROLE ); + + Model model = modello.loadModel( getXmlResourceReader( "/plugin.mdo" ) ); + + // generate XSD file + Properties parameters = getModelloParameters( "1.0.0" ); + + modello.generate( model, "xsd", parameters ); + + SAXParser parser = createSaxParserWithSchema( "plugin-1.0.0.xsd" ); + parser.parse( getClass().getResourceAsStream( "/plugin.xml" ), new Handler() ); + } + + private static class Handler + extends DefaultHandler + { + public void warning( SAXParseException e ) + throws SAXException + { + throw e; + } + + public void error( SAXParseException e ) + throws SAXException + { + throw e; + } + } +} diff --git a/modello-plugins/modello-plugin-xsd/src/test/resources/plugin.mdo b/modello-plugins/modello-plugin-xsd/src/test/resources/plugin.mdo new file mode 100644 index 000000000..0bffa1602 --- /dev/null +++ b/modello-plugins/modello-plugin-xsd/src/test/resources/plugin.mdo @@ -0,0 +1,533 @@ + + + + plugin + PluginDescriptor + META-INF/maven/plugin.xml in a plugin's jar artifact. + This descriptor is generally generated from plugin sources, using + maven-plugin-plugin. +

Notice: this documentation is generated from a Modello model but the code executed is not generated + from this descriptor. Please report if you find anything wrong.

+ ]]>
+ + + package + plugin descriptor XML documentation (no java generation) + + + + + PluginDescriptor + 1.0.0+ + plugin.xml file.]]> + + + + name + 1.0.0+ + Name of the plugin. + String + + + description + 1.0.0+ + Description of the plugin. + String + + + groupId + 1.0.0+ + The group id of the plugin. + String + + + artifactId + 1.0.0+ + The artifact id of the plugin. + String + + + version + 1.0.0+ + The version of the plugin. + String + + + goalPrefix + 1.0.0+ + + String + + + isolatedRealm + 1.0.0+ + + boolean + false + + + inheritedByDefault + 1.0.0+ + + boolean + true + + + requiredJavaVersion + 1.1.0+ + A version range which specifies the supported Java versions. The same values as for POM profile activation element 'jdk' are allowed, i.e. version ranges, version prefixes and negated version prefixes (starting with '!'). + String + + + mojos + 1.0.0+ + + MojoDescriptor + * + + Description of each Mojo provided by the plugin. + + + dependencies + 1.0.0+ + + Dependency + * + + + A set of dependencies which the plugin requires in order to function. This enables the plugin to function + independently of its POM (or at least to declare the libraries it needs to run). + + + + + + + MojoDescriptor + 1.0.0+ + + + + + goal + true + 1.0.0+ + String + + The goal name for the Mojo, that users will reference from the command line to execute the Mojo directly, + or inside a POM in order to provide Mojo-specific configuration. + + + + description + 1.0.0+ + String + The description of this Mojo's functionality. + + + implementation + 1.0.0+ + String + + The Mojo's fully-qualified class name (or script path in the case of non-Java Mojos). + + + + language + 1.0.0+ + String + java + The implementation language for this Mojo (java, beanshell, etc.). + + + phase + 1.0.0+ + String + Note: This will not automagically make a mojo run when the plugin declaration is added + to the POM. It merely enables the user to omit the <phase> element from the + surrounding <execution> element. + ]]> + + + executePhase + 1.0.0+ + String + Reference the invocation phase of the Mojo. + + + executeGoal + 1.0.0+ + String + Reference the invocation goal of the Mojo. + + + executeLifecycle + 1.0.0+ + String + + + + requiresDependencyResolution + 1.0.0+ + String + runtime + compile, runtime, test, + compile+runtime (since Maven 3.0) or runtime+system (since Maven 3.0) + ]]> + + + requiresDependencyCollection + 1.0.0+ + String + + + + requiresDirectInvocation + 1.0.0+ + boolean + Flags this Mojo to be invoked directly only. + false + + + requiresProject + 1.0.0+ + boolean + Flags this Mojo to require running inside of a project. + true + + + requiresReports + 1.0.0+ + boolean + Flags this Mojo to require running inside of a reports context. Unsupported since Maven 3.0. + false + + + requiresOnline + 1.0.0+ + boolean + Flags this Mojo to require online mode for its operation. + false + + + aggregator + 1.0.0+ + boolean + + Flags this Mojo to run it in a multi-module way, i.e. aggregate the build with the set of projects + listed as modules. + + false + + + inheritedByDefault + 1.0.0+ + boolean + Specify that the Mojo is inherited. + true + + + threadSafe + 1.0.0+ + boolean + + Marks this mojo as being thread-safe, i.e. the mojo safely supports concurrent execution during parallel + builds. Mojos without this annotation will make Maven output a warning when used during a parallel build + session. Since Maven 3.0. + + false + + + instantiationStrategy + 1.0.0+ + String + per-lookup + Specify the instantiation strategy. + + + executionStrategy + 1.0.0+ + String + once-per-session, always. + ]]> + once-per-session + + + since + 1.0.0+ + String + Specify the version when the Mojo was added to the API. Similar to Javadoc since. + + + deprecated + 1.0.0+ + String + @deprecated + This will trigger a warning when a user tries to use a Mojo marked as deprecated. + ]]> + + + configurator + 1.0.0+ + String + + The configurator type to use when injecting parameter values into this Mojo. The value is normally deduced + from the Mojo's implementation language, but can be specified to allow a custom ComponentConfigurator + implementation to be used. + + + + composer + 1.0.0+ + String + + + + parameters + 1.0.0+ + + + Parameter + * + + + + configuration + 1.0.0+ + + + Configuration + * + + + + requirements + 1.0.0+ + + + Requirement + * + + + + + + + Parameter + 1.0.0+ + A phase mapping definition. + + + + name + 1.0.0+ + String + true + + The name of the parameter, to be used while configuring this parameter from the Mojo's declared defaults + or from the POM. + + + + alias + 1.0.0+ + String + + Specifies an alias which can be used to configure this parameter from the POM. + This is primarily useful to improve user-friendliness, where Mojo field names are not intuitive to the + user or are otherwise not conducive to configuration via the POM. + + + + type + 1.0.0+ + String + true + + The Java type for this parameter. This is used to validate the result of any expressions used to calculate + the value which should be injected into the Mojo for this parameter. + + + + required + 1.0.0+ + boolean + + Whether this parameter is required for the Mojo to function. This is used to validate the configuration + for a Mojo before it is injected, and before the Mojo is executed from some half-state. + + + + editable + 1.0.0+ + boolean + true + <build><finalName/></build> rather + than specifying a value for finalName directly in the plugin configuration section. It is also useful to + ensure that - for example - a List-typed parameter which expects items of type Artifact doesn't get a List + full of Strings. + ]]> + + + implementation + 1.0.0+ + String + + + + description + 1.0.0+ + String + The description of this parameter's use inside the Mojo. + + + since + 1.0.0+ + String + Specify the version when the parameter was added to the API. Similar to Javadoc since. + + + deprecated + 1.0.0+ + String + @deprecated + This will trigger a warning when a user tries to configure a parameter marked as deprecated. + ]]> + + + + + + Configuration + 1.0.0+ + A parameter configuration. + + + + expression + true + 1.0.0+ + String + Parameter expression, to let user override default value with a system property, pom property or settings property. + + + implementation + 1.0.0+ + String + + + + defaultValue + 1.0.0+ + String + The default value, as an expression that will be evaluated at injection or run-time. + + + + + + Requirement + 1.0.0+ + Describes a component requirement. + + + + role + true + 1.0.0+ + String + + + + roleHint + 1.0.0+ + String + + + + fieldName + true + 1.0.0+ + String + The field name which has this requirement. + + + + + + Dependency + 1.0.0+ + Definition of a dependency, needed by the plugin at runtime. + + + groupId + true + 1.0.0+ + String + The group id of the dependency. + + + artifactId + true + 1.0.0+ + String + The artifact id of the dependency. + + + version + 1.0.0+ + String + The version of the dependency. + + + type + 1.0.0+ + String + jar + The type of dependency. + + + + +
diff --git a/modello-plugins/modello-plugin-xsd/src/test/resources/plugin.xml b/modello-plugins/modello-plugin-xsd/src/test/resources/plugin.xml new file mode 100644 index 000000000..5f5ee8dfa --- /dev/null +++ b/modello-plugins/modello-plugin-xsd/src/test/resources/plugin.xml @@ -0,0 +1,21990 @@ + + + + + + Apache Maven Javadoc Plugin + The Apache Maven Javadoc Plugin is a plugin that uses the javadoc tool for + generating javadocs for the specified project. + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.2-SNAPSHOT + javadoc + false + true + + + aggregate + <p>Generates documentation for the <code>Java code</code> in an <b>aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>.</p> + +<p>Since version 3.1.0 an aggregated report is created for every module of a Maven multimodule project.</p> + compile + false + true + false + true + false + true + compile + org.apache.maven.plugins.javadoc.AggregatorJavadocReport + java + per-lookup + once-per-session + 2.5 + false + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + 2.1 + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + aggregate-jar + <p>Bundles the Javadoc documentation for main <code>Java code</code> in an <b>aggregator</b> project into a jar +using the standard <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. +</p> + +<p>Since version 3.1.0 an aggregated jar is created for every module of a Maven multimodule project.</p> + compile + false + true + false + true + false + true + package + compile + org.apache.maven.plugins.javadoc.AggregatorJavadocJar + java + per-lookup + once-per-session + 2.6 + false + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + archive + org.apache.maven.archiver.MavenArchiveConfiguration + 2.5 + false + true + The archive configuration to use. +See <a href="http://maven.apache.org/shared/maven-archiver/index.html">Maven Archiver Reference</a>. + + + attach + boolean + false + true + Specifies whether to attach the generated artifact to the project helper. +<br/> + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + classifier + java.lang.String + 2.10 + true + true + + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + defaultManifestFile + java.io.File + 2.5 + true + false + Path to the default MANIFEST file to use. It will be used if +<code>useDefaultManifestFile</code> is set to <code>true</code>. + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + destDir + java.io.File + No reason given + false + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + finalName + java.lang.String + false + true + Specifies the filename that will be used for the generated jar file. Please note that <code>-javadoc</code> +or <code>-test-javadoc</code> will be appended to the file name. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + jarOutputDirectory + java.lang.String + false + true + Specifies the directory where the generated jar file will be put. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useDefaultManifestFile + boolean + 2.5 + false + true + Set this to <code>true</code> to enable the use of the <code>defaultManifestFile</code>. +<br/> + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${attach} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${maven.javadoc.classifier} + ${debug} + + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} + ${project.build.finalName} +
${footer}
+
${header}
+ ${helpfile} + + + + ${project.build.directory} + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${top} + ${use} + + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.codehaus.plexus.archiver.Archiver + jar + jarArchiver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.project.MavenProjectHelper + projectHelper + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + aggregate-no-fork + Generates documentation for the <code>Java code</code> in an <b>aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. + compile + false + true + false + false + false + true + org.apache.maven.plugins.javadoc.AggregatorJavadocNoForkReport + java + per-lookup + once-per-session + 3.1.0 + false + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + 2.1 + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + fix + Fix Javadoc documentation and tags for the <code>Java code</code> for the project. + compile + false + true + false + false + false + true + compile + org.apache.maven.plugins.javadoc.FixJavadocMojo + java + per-lookup + once-per-session + 2.6 + true + + + comparisonVersion + java.lang.String + false + true + Version to compare the current code against using the +<a href="http://mojo.codehaus.org/clirr-maven-plugin/">Clirr Maven Plugin</a>. +<br/> +See <a href="#defaultSince">defaultSince</a>. + + + defaultAuthor + java.lang.String + false + true + Default value for the Javadoc tag <code>&#64;author</code>. +<br/> +If not specified, the <code>user.name</code> defined in the System properties will be used. + + + defaultSince + java.lang.String + false + true + Default value for the Javadoc tag <code>&#64;since</code>. + + + defaultVersion + java.lang.String + false + true + Default value for the Javadoc tag <code>&#64;version</code>. +<br/> +By default, it is <code>&#36;Id:&#36;</code>, corresponding to a +<a href="http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.4">SVN keyword</a>. +Refer to your SCM to use an other SCM keyword. + + + encoding + java.lang.String + false + true + The file encoding to use when reading the source files. If the property +<code>project.build.sourceEncoding</code> is not set, the platform default encoding is used. + + + excludes + java.lang.String + false + true + Comma separated excludes Java files, i.e. <code>&#42;&#42;/&#42;Test.java</code>. + + + fixClassComment + boolean + false + true + Flag to fix the classes or interfaces Javadoc comments according the <code>level</code>. + + + fixFieldComment + boolean + false + true + Flag to fix the fields Javadoc comments according the <code>level</code>. + + + fixMethodComment + boolean + false + true + Flag to fix the methods Javadoc comments according the <code>level</code>. + + + fixTags + java.lang.String + false + true + Comma separated tags to fix in classes, interfaces or methods Javadoc comments. +Possible values are: +<ul> +<li>all (fix all Javadoc tags)</li> +<li>author (fix only &#64;author tag)</li> +<li>version (fix only &#64;version tag)</li> +<li>since (fix only &#64;since tag)</li> +<li>param (fix only &#64;param tag)</li> +<li>return (fix only &#64;return tag)</li> +<li>throws (fix only &#64;throws tag)</li> +<li>link (fix only &#64;link tag)</li> +</ul> + + + force + boolean + false + true + Forcing the goal execution i.e. skip warranty messages (not recommended). + + + ignoreClirr + boolean + false + true + Flag to ignore or not Clirr. + + + includes + java.lang.String + false + true + Comma separated includes Java files, i.e. <code>&#42;&#42;/&#42;Test.java</code>. +<p/> +<strong>Note:</strong> default value is {@code **\/*.java}. + + + level + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located, used by the tests. + + + outputDirectory + java.io.File + false + true + Output directory where Java classes will be rewritten. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object. + + + removeUnknownThrows + boolean + false + true + <p>Flag to remove throws tags from unknown classes.</p> +<p><strong>NOTE:</strong>Since 3.1.0 the default value has been changed to {@code true}, +due to JavaDoc 8 strictness. + + + session + org.apache.maven.execution.MavenSession + true + false + + + + settings + org.apache.maven.settings.Settings + true + false + The current user system settings for use in Maven. + + + + ${comparisonVersion} + ${defaultAuthor} + ${defaultSince} + ${defaultVersion} + ${encoding} + ${excludes} + ${fixClassComment} + ${fixFieldComment} + ${fixMethodComment} + ${fixTags} + ${force} + ${ignoreClirr} + ${includes} + ${level} + ${localRepository} + ${outputDirectory} + + ${removeUnknownThrows} + + + + + + org.codehaus.plexus.components.interactivity.InputHandler + inputHandler + + + + + help + Display help information on maven-javadoc-plugin.<br> +Call <code>mvn javadoc:help -Ddetail=true -Dgoal=&lt;goal-name&gt;</code> to display parameter details. + false + false + false + false + false + true + org.apache.maven.plugins.javadoc.HelpMojo + java + per-lookup + once-per-session + true + + + detail + boolean + false + true + If <code>true</code>, display all settable properties for each goal. + + + goal + java.lang.String + false + true + The name of the goal for which to show help. If unspecified, all goals will be displayed. + + + indentSize + int + false + true + The number of spaces per indentation level, should be positive. + + + lineLength + int + false + true + The maximum length of a display line, should be positive. + + + + ${detail} + ${goal} + ${indentSize} + ${lineLength} + + + + jar + Bundles the Javadoc documentation for <code>main Java code</code> in an <b>NON aggregator</b> project into +a jar using the standard <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html"> +Javadoc Tool</a>. + compile + false + true + false + false + false + true + package + org.apache.maven.plugins.javadoc.JavadocJar + java + per-lookup + once-per-session + 2.0 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + archive + org.apache.maven.archiver.MavenArchiveConfiguration + 2.5 + false + true + The archive configuration to use. +See <a href="http://maven.apache.org/shared/maven-archiver/index.html">Maven Archiver Reference</a>. + + + attach + boolean + false + true + Specifies whether to attach the generated artifact to the project helper. +<br/> + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + classifier + java.lang.String + 2.10 + true + true + + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + defaultManifestFile + java.io.File + 2.5 + true + false + Path to the default MANIFEST file to use. It will be used if +<code>useDefaultManifestFile</code> is set to <code>true</code>. + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + destDir + java.io.File + No reason given + false + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + finalName + java.lang.String + false + true + Specifies the filename that will be used for the generated jar file. Please note that <code>-javadoc</code> +or <code>-test-javadoc</code> will be appended to the file name. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + jarOutputDirectory + java.lang.String + false + true + Specifies the directory where the generated jar file will be put. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useDefaultManifestFile + boolean + 2.5 + false + true + Set this to <code>true</code> to enable the use of the <code>defaultManifestFile</code>. +<br/> + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${attach} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${maven.javadoc.classifier} + ${debug} + + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} + ${project.build.finalName} +
${footer}
+
${header}
+ ${helpfile} + + + + ${project.build.directory} + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${top} + ${use} + + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.codehaus.plexus.archiver.Archiver + jar + jarArchiver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.project.MavenProjectHelper + projectHelper + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + javadoc + Generates documentation for the <code>Java code</code> in an <b>NON aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. + compile + false + true + false + false + false + true + generate-sources + org.apache.maven.plugins.javadoc.JavadocReport + java + per-lookup + once-per-session + 2.0 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + 2.1 + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + javadoc-no-fork + Generates documentation for the <code>Java code</code> in an <b>NON aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. Note that this +goal does require generation of sources before site generation, e.g. by invoking {@code mvn clean deploy site}. + compile + false + true + false + false + false + true + org.apache.maven.plugins.javadoc.JavadocNoForkReport + java + per-lookup + once-per-session + 2.10 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + 2.1 + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + resource-bundle + Bundle {@link AbstractJavadocMojo#javadocDirectory}, along with javadoc configuration options such +as taglet, doclet, and link information into a deployable artifact. This artifact can then be consumed +by the javadoc plugin mojos when used by the <code>includeDependencySources</code> option, to generate +javadocs that are somewhat consistent with those generated in the original project itself. + compile + false + true + false + false + false + true + package + org.apache.maven.plugins.javadoc.ResourcesBundleMojo + java + per-lookup + once-per-session + 2.7 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + finalName + java.lang.String + false + false + Base name of artifacts produced by this project. This will be combined with +{@link ResourcesBundleMojo#getAttachmentClassifier()} to produce the name for this bundle +jar. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} + +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.project.MavenProjectHelper + projectHelper + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + test-aggregate + <p>Generates documentation for the <code>Java Test code</code> in an <b>aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>.</p> + +<p>Since version 3.1.0 an aggregated report is created for every module of a Maven multimodule project.</p> + test + false + true + false + true + false + true + test-compile + org.apache.maven.plugins.javadoc.AggregatorTestJavadocReport + java + per-lookup + once-per-session + 2.5 + false + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where test Javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + testDescription + description + java.lang.String + 2.5 + false + true + The description of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testDoctitle + doctitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed near the top of the overview summary file. + + + testJavadocDirectory + javadocDirectory + java.io.File + 2.5 + false + true + Specifies the Test Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + testName + name + java.lang.String + 2.5 + false + true + The name of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testOverview + overview + java.io.File + 2.5 + false + true + Specifies that Javadoc should retrieve the text for the Test overview documentation from the "source" file +specified by path/filename and place it on the Overview page (overview-summary.html). + + + testWindowtitle + windowtitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed in the HTML title tag. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportTestOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${testDescription} + ${testDoctitle} + + ${testName} + ${testOverview} + ${testWindowtitle} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + test-aggregate-jar + <p>Bundles the Javadoc documentation for <code>Java Test code</code> in an <b>aggregator</b> project into a jar +using the standard <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. +</p> + +<p>Since version 3.1.0 an aggregated jar is created for every module of a Maven multimodule project.</p> + test + false + true + false + true + false + true + package + test-compile + org.apache.maven.plugins.javadoc.AggregatorTestJavadocJar + java + per-lookup + once-per-session + 2.6 + false + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + archive + org.apache.maven.archiver.MavenArchiveConfiguration + 2.5 + false + true + The archive configuration to use. +See <a href="http://maven.apache.org/shared/maven-archiver/index.html">Maven Archiver Reference</a>. + + + attach + boolean + false + true + Specifies whether to attach the generated artifact to the project helper. +<br/> + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + classifier + java.lang.String + 2.10 + true + true + + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + defaultManifestFile + java.io.File + 2.5 + true + false + Path to the default MANIFEST file to use. It will be used if +<code>useDefaultManifestFile</code> is set to <code>true</code>. + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + destDir + java.io.File + No reason given + false + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + finalName + java.lang.String + false + true + Specifies the filename that will be used for the generated jar file. Please note that <code>-javadoc</code> +or <code>-test-javadoc</code> will be appended to the file name. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + jarOutputDirectory + java.lang.String + false + true + Specifies the directory where the generated jar file will be put. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + java.io.File + true + true + Specifies the destination directory where Javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + testClassifier + java.lang.String + 2.10 + true + true + + + + testDoctitle + doctitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed near the top of the overview summary file. + + + testJavadocDirectory + javadocDirectory + java.io.File + 2.5 + false + true + Specifies the Test Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). + + + testOverview + overview + java.io.File + 2.5 + false + true + Specifies that Javadoc should retrieve the text for the Test overview documentation from the "source" file +specified by path/filename and place it on the Overview page (overview-summary.html). + + + testWindowtitle + windowtitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed in the HTML title tag. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useDefaultManifestFile + boolean + 2.5 + false + true + Set this to <code>true</code> to enable the use of the <code>defaultManifestFile</code>. +<br/> + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${attach} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${maven.javadoc.classifier} + ${debug} + + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} + ${project.build.finalName} +
${footer}
+
${header}
+ ${helpfile} + + + + ${project.build.directory} + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${maven.javadoc.testClassifier} + ${testDoctitle} + + ${testOverview} + ${testWindowtitle} + ${top} + ${use} + + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.codehaus.plexus.archiver.Archiver + jar + jarArchiver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.project.MavenProjectHelper + projectHelper + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + test-aggregate-no-fork + Generates documentation for the <code>Java Test code</code> in an <b>aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. + test + false + true + false + false + false + true + org.apache.maven.plugins.javadoc.AggregatorTestJavadocNoForkReport + java + per-lookup + once-per-session + 3.0.1 + false + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where test Javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + testDescription + description + java.lang.String + 2.5 + false + true + The description of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testDoctitle + doctitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed near the top of the overview summary file. + + + testJavadocDirectory + javadocDirectory + java.io.File + 2.5 + false + true + Specifies the Test Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + testName + name + java.lang.String + 2.5 + false + true + The name of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testOverview + overview + java.io.File + 2.5 + false + true + Specifies that Javadoc should retrieve the text for the Test overview documentation from the "source" file +specified by path/filename and place it on the Overview page (overview-summary.html). + + + testWindowtitle + windowtitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed in the HTML title tag. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportTestOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${testDescription} + ${testDoctitle} + + ${testName} + ${testOverview} + ${testWindowtitle} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + test-fix + Fix Javadoc documentation and tags for the <code>Test Java code</code> for the project. + test + false + true + false + false + false + true + test-compile + org.apache.maven.plugins.javadoc.TestFixJavadocMojo + java + per-lookup + once-per-session + 2.6 + true + + + comparisonVersion + java.lang.String + false + true + Version to compare the current code against using the +<a href="http://mojo.codehaus.org/clirr-maven-plugin/">Clirr Maven Plugin</a>. +<br/> +See <a href="#defaultSince">defaultSince</a>. + + + defaultAuthor + java.lang.String + false + true + Default value for the Javadoc tag <code>&#64;author</code>. +<br/> +If not specified, the <code>user.name</code> defined in the System properties will be used. + + + defaultSince + java.lang.String + false + true + Default value for the Javadoc tag <code>&#64;since</code>. + + + defaultVersion + java.lang.String + false + true + Default value for the Javadoc tag <code>&#64;version</code>. +<br/> +By default, it is <code>&#36;Id:&#36;</code>, corresponding to a +<a href="http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.4">SVN keyword</a>. +Refer to your SCM to use an other SCM keyword. + + + encoding + java.lang.String + false + true + The file encoding to use when reading the source files. If the property +<code>project.build.sourceEncoding</code> is not set, the platform default encoding is used. + + + excludes + java.lang.String + false + true + Comma separated excludes Java files, i.e. <code>&#42;&#42;/&#42;Test.java</code>. + + + fixClassComment + boolean + false + true + Flag to fix the classes or interfaces Javadoc comments according the <code>level</code>. + + + fixFieldComment + boolean + false + true + Flag to fix the fields Javadoc comments according the <code>level</code>. + + + fixMethodComment + boolean + false + true + Flag to fix the methods Javadoc comments according the <code>level</code>. + + + fixTags + java.lang.String + false + true + Comma separated tags to fix in classes, interfaces or methods Javadoc comments. +Possible values are: +<ul> +<li>all (fix all Javadoc tags)</li> +<li>author (fix only &#64;author tag)</li> +<li>version (fix only &#64;version tag)</li> +<li>since (fix only &#64;since tag)</li> +<li>param (fix only &#64;param tag)</li> +<li>return (fix only &#64;return tag)</li> +<li>throws (fix only &#64;throws tag)</li> +<li>link (fix only &#64;link tag)</li> +</ul> + + + force + boolean + false + true + Forcing the goal execution i.e. skip warranty messages (not recommended). + + + ignoreClirr + boolean + false + true + Flag to ignore or not Clirr. + + + includes + java.lang.String + false + true + Comma separated includes Java files, i.e. <code>&#42;&#42;/&#42;Test.java</code>. +<p/> +<strong>Note:</strong> default value is {@code **\/*.java}. + + + level + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located, used by the tests. + + + outputDirectory + java.io.File + false + true + Output directory where Java classes will be rewritten. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object. + + + removeUnknownThrows + boolean + false + true + <p>Flag to remove throws tags from unknown classes.</p> +<p><strong>NOTE:</strong>Since 3.1.0 the default value has been changed to {@code true}, +due to JavaDoc 8 strictness. + + + session + org.apache.maven.execution.MavenSession + true + false + + + + settings + org.apache.maven.settings.Settings + true + false + The current user system settings for use in Maven. + + + + ${comparisonVersion} + ${defaultAuthor} + ${defaultSince} + ${defaultVersion} + ${encoding} + ${excludes} + ${fixClassComment} + ${fixFieldComment} + ${fixMethodComment} + ${fixTags} + ${force} + ${ignoreClirr} + ${includes} + ${level} + ${localRepository} + ${outputDirectory} + + ${removeUnknownThrows} + + + + + + org.codehaus.plexus.components.interactivity.InputHandler + inputHandler + + + + + test-jar + Bundles the Javadoc documentation for <code>test Java code</code> in an <b>NON aggregator</b> project into +a jar using the standard <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html"> +Javadoc Tool</a>. + test + false + true + false + false + false + true + package + org.apache.maven.plugins.javadoc.TestJavadocJar + java + per-lookup + once-per-session + 2.5 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + archive + org.apache.maven.archiver.MavenArchiveConfiguration + 2.5 + false + true + The archive configuration to use. +See <a href="http://maven.apache.org/shared/maven-archiver/index.html">Maven Archiver Reference</a>. + + + attach + boolean + false + true + Specifies whether to attach the generated artifact to the project helper. +<br/> + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + classifier + java.lang.String + 2.10 + true + true + + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + defaultManifestFile + java.io.File + 2.5 + true + false + Path to the default MANIFEST file to use. It will be used if +<code>useDefaultManifestFile</code> is set to <code>true</code>. + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + destDir + java.io.File + No reason given + false + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + finalName + java.lang.String + false + true + Specifies the filename that will be used for the generated jar file. Please note that <code>-javadoc</code> +or <code>-test-javadoc</code> will be appended to the file name. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + jarOutputDirectory + java.lang.String + false + true + Specifies the directory where the generated jar file will be put. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + java.io.File + true + true + Specifies the destination directory where Javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + testClassifier + java.lang.String + 2.10 + true + true + + + + testDoctitle + doctitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed near the top of the overview summary file. + + + testJavadocDirectory + javadocDirectory + java.io.File + 2.5 + false + true + Specifies the Test Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). + + + testOverview + overview + java.io.File + 2.5 + false + true + Specifies that Javadoc should retrieve the text for the Test overview documentation from the "source" file +specified by path/filename and place it on the Overview page (overview-summary.html). + + + testWindowtitle + windowtitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed in the HTML title tag. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useDefaultManifestFile + boolean + 2.5 + false + true + Set this to <code>true</code> to enable the use of the <code>defaultManifestFile</code>. +<br/> + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${attach} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${maven.javadoc.classifier} + ${debug} + + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} + ${project.build.finalName} +
${footer}
+
${header}
+ ${helpfile} + + + + ${project.build.directory} + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${maven.javadoc.testClassifier} + ${testDoctitle} + + ${testOverview} + ${testWindowtitle} + ${top} + ${use} + + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.codehaus.plexus.archiver.Archiver + jar + jarArchiver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.project.MavenProjectHelper + projectHelper + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + test-javadoc + Generates documentation for the <code>Java Test code</code> in an <b>NON aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. + test + false + true + false + false + false + true + generate-test-sources + org.apache.maven.plugins.javadoc.TestJavadocReport + java + per-lookup + once-per-session + 2.3 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where test Javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + testDescription + description + java.lang.String + 2.5 + false + true + The description of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testDoctitle + doctitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed near the top of the overview summary file. + + + testJavadocDirectory + javadocDirectory + java.io.File + 2.5 + false + true + Specifies the Test Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + testName + name + java.lang.String + 2.5 + false + true + The name of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testOverview + overview + java.io.File + 2.5 + false + true + Specifies that Javadoc should retrieve the text for the Test overview documentation from the "source" file +specified by path/filename and place it on the Overview page (overview-summary.html). + + + testWindowtitle + windowtitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed in the HTML title tag. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportTestOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${testDescription} + ${testDoctitle} + + ${testName} + ${testOverview} + ${testWindowtitle} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + test-javadoc-no-fork + Generates documentation for the <code>Java Test code</code> in an <b>NON aggregator</b> project using the standard +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html">Javadoc Tool</a>. Note that this +goal does require generation of test sources before site generation, e.g. by invoking +{@code mvn clean deploy site}. + test + false + true + false + false + false + true + org.apache.maven.plugins.javadoc.TestJavadocNoForkReport + java + per-lookup + once-per-session + 2.10 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + description + java.lang.String + 2.1 + false + true + The description of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + destDir + java.lang.String + false + true + The name of the destination directory. +<br/> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + name + java.lang.String + 2.1 + false + true + The name of the Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + reportOutputDirectory + java.io.File + true + true + Specifies the destination directory where test Javadoc saves the generated HTML files. + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + testDescription + description + java.lang.String + 2.5 + false + true + The description of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testDoctitle + doctitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed near the top of the overview summary file. + + + testJavadocDirectory + javadocDirectory + java.io.File + 2.5 + false + true + Specifies the Test Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + testName + name + java.lang.String + 2.5 + false + true + The name of the Test Javadoc report to be displayed in the Maven Generated Reports page +(i.e. <code>project-reports.html</code>). + + + testOverview + overview + java.io.File + 2.5 + false + true + Specifies that Javadoc should retrieve the text for the Test overview documentation from the "source" file +specified by path/filename and place it on the Overview page (overview-summary.html). + + + testWindowtitle + windowtitle + java.lang.String + 2.5 + false + true + Specifies the Test title to be placed in the HTML title tag. + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${description} + ${destDir} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${name} + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${reportTestOutputDirectory} + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + ${testDescription} + ${testDoctitle} + + ${testName} + ${testOverview} + ${testWindowtitle} + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+ + test-resource-bundle + Bundle {@link TestJavadocJar#testJavadocDirectory}, along with javadoc configuration options from +{@link AbstractJavadocMojo} such as taglet, doclet, and link information into a deployable +artifact. This artifact can then be consumed by the javadoc plugin mojos when used by the +<code>includeDependencySources</code> option, to generate javadocs that are somewhat consistent +with those generated in the original project itself. + test + false + true + false + false + false + true + package + org.apache.maven.plugins.javadoc.TestResourcesBundleMojo + java + per-lookup + once-per-session + 2.7 + true + + + addStylesheets + java.lang.String[] + 3.3.0 + false + true + Specifies the path of an additional HTML stylesheet file relative to the {@code javadocDirectory} +Example: +<pre> + &lt;addStylesheets&gt; + &lt;resources/addstylesheet.css&lt;/addStylesheet&gt; + &lt;/addStylesheets&gt; +</pre> + + + additionalDependencies + java.util.List + 2.8.1 + false + true + Capability to add additional dependencies to the javadoc classpath. +Example: +<pre> +&lt;additionalDependencies&gt; + &lt;additionalDependency&gt; + &lt;groupId&gt;geronimo-spec&lt;/groupId&gt; + &lt;artifactId&gt;geronimo-spec-jta&lt;/artifactId&gt; + &lt;version&gt;1.0.1B-rc4&lt;/version&gt; + &lt;/additionalDependency&gt; +&lt;/additionalDependencies&gt; +</pre> + + + additionalJOption + java.lang.String + 2.3 + false + true + Sets additional Javadoc options (e.g. JVM options) on the command line. +Example: +<pre> +&lt;additionalJOption&gt;-J-Xss128m&lt;/additionalJOption&gt; +</pre> + + + additionalJOptions + java.lang.String[] + 2.9 + false + true + Sets additional Javadoc options for the execution of the javadoc command via the '-J' option to javadoc. +Example: +<pre> + &lt;additionalJOptions&gt; + &lt;additionalJOption&gt;-J-Xmx1g &lt;/additionalJOption&gt; + &lt;/additionalJOptions&gt; +</pre> + + + additionalOptions + java.lang.String[] + 3.0.0 + false + true + Set an additional option(s) on the command line. All input will be passed as-is to the +{@code @options} file. You must take care of quoting and escaping. Useful for a custom doclet. + + + applyJavadocSecurityFix + boolean + 2.9.1 + false + true + To apply a security fix on generated javadoc, see +<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1571>CVE-2013-157</a>. + + + author + boolean + false + true + Specifies whether or not the author text is included in the generated Javadocs. + + + bootclasspath + java.lang.String + 2.5 + false + true + Specifies the paths where the boot classes reside. The <code>bootclasspath</code> can contain multiple paths +by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + bootclasspathArtifacts + org.apache.maven.plugins.javadoc.options.BootclasspathArtifact[] + 2.5 + false + true + Specifies the artifacts where the boot classes reside. +<br/> +Example: +<pre> +&lt;bootclasspathArtifacts&gt; + &lt;bootclasspathArtifact&gt; + &lt;groupId&gt;my-groupId&lt;/groupId&gt; + &lt;artifactId&gt;my-artifactId&lt;/artifactId&gt; + &lt;version&gt;my-version&lt;/version&gt; + &lt;/bootclasspathArtifact&gt; +&lt;/bootclasspathArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/BootclasspathArtifact.html">Javadoc</a>. + + + bottom + java.lang.String + false + true + Specifies the text to be placed at the bottom of each output file.<br/> +If you want to use html, you have to put it in a CDATA section, <br/> +e.g. <code>&lt;![CDATA[Copyright 2005, &lt;a href="http://www.mycompany.com">MyCompany, Inc.&lt;a>]]&gt;</code> +<br> +<strong>Note:<strong>If the project has the property <code>project.build.outputTimestamp</code>, its year will +be used as {currentYear}. This way it is possible to generate reproducible javadoc jars. + + + breakiterator + boolean + false + true + Uses the sentence break iterator to determine the end of the first sentence. + + + charset + java.lang.String + false + true + Specifies the HTML character set for this document. If not specified, the charset value will be the value of +the {@link #docencoding} parameter. + + + debug + boolean + 2.1 + false + true + Set this to <code>true</code> to debug the Javadoc plugin. With this, <code>javadoc.bat(or.sh)</code>, +<code>options</code>, <code>@packages</code> or <code>argfile</code> files are provided in the output directory. +<br/> + + + dependencyLinks + java.util.List + 3.3.0 + false + true + Redefine the apidoc URL for specific dependencies when using {@link #detectLinks}. +Useful if the dependency wasn't build with Maven or when the apidocs have been moved. +<pre> +&lt;dependencyLinks&gt; + &lt;dependencyLink&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;classifier&gt;classifier&lt;/classifier&gt; &lt;!-- optional --&gt; + &lt;url&gt;version&lt;/url&gt; + &lt;/dependencyLink&gt; +&lt;/dependencyLinks&gt; +</pre> + + + dependencySourceExcludes + java.util.List + 2.7 + false + true + List of excluded dependency-source patterns. Example: <code>org.apache.maven.shared:*</code> + + + dependencySourceIncludes + java.util.List + 2.7 + false + true + List of included dependency-source patterns. Example: <code>org.apache.maven:*</code> + + + detectJavaApiLink + boolean + 2.6 + false + true + Detect the Java API link for the current build, i.e. <code>https://docs.oracle.com/javase/1.4.2/docs/api/</code> +for Java source 1.4. +<br/> +By default, the goal detects the Javadoc API link depending the value of the <code>source</code> +parameter in the <code>org.apache.maven.plugins:maven-compiler-plugin</code> +(defined in <code>${project.build.plugins}</code> or in <code>${project.build.pluginManagement}</code>), +or try to compute it from the {@code javadocExecutable} version. + + + detectLinks + boolean + 2.6 + false + true + Detect the Javadoc links for all dependencies defined in the project. The detection is based on the default +Maven conventions, i.e.: <code>${project.url}/apidocs</code>. +<br/> +For instance, if the project has a dependency to +<a href="http://commons.apache.org/lang/">Apache Commons Lang</a> i.e.: +<pre> +&lt;dependency&gt; + &lt;groupId&gt;commons-lang&lt;/groupId&gt; + &lt;artifactId&gt;commons-lang&lt;/artifactId&gt; +&lt;/dependency&gt; +</pre> +The added Javadoc <code>-link</code> parameter will be <code>http://commons.apache.org/lang/apidocs</code>. + + + detectOfflineLinks + boolean + 2.6 + false + true + Detect the links for all modules defined in the project. +<br/> +If {@code 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 +<code>module1</code> and <code>module2</code>, the <code>-linkoffline</code> will be: +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module1</b> will be +<code>/absolute/path/to/</code><b>module2</b><code>/target/site/apidocs</code> +<br/> +The added Javadoc <code>-linkoffline</code> parameter for <b>module2</b> will be +<code>/absolute/path/to/</code><b>module1</b><code>/target/site/apidocs</code> + + + docencoding + java.lang.String + false + true + Specifies the encoding of the generated HTML files. If not specified, the docencoding value will be +<code>UTF-8</code>. + + + docfilessubdirs + boolean + false + true + Enables deep copying of the <code>&#42;&#42;/doc-files</code> directories and the specifc <code>resources</code> +directory from the <code>javadocDirectory</code> directory (for instance, +<code>src/main/javadoc/com/mycompany/myapp/doc-files</code> and <code>src/main/javadoc/resources</code>). + + + doclet + java.lang.String + false + true + Specifies the class file that starts the doclet used in generating the documentation. + + + docletArtifact + org.apache.maven.plugins.javadoc.options.DocletArtifact + false + true + Specifies the artifact containing the doclet starting class file (specified with the {@link #doclet} +option). +<br/> +Example: +<pre> +&lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; +&lt;/docletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletArtifacts + org.apache.maven.plugins.javadoc.options.DocletArtifact[] + 2.1 + false + true + Specifies multiple artifacts containing the path for the doclet starting class file (specified with the +{@link #doclet} option). +<br/> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/DocletArtifact.html">Javadoc</a>. +<br/> + + + docletPath + java.lang.String + false + true + Specifies the path to the doclet starting class file (specified with the {@link #doclet} option) and +any jar files it depends on. The <code>docletPath</code> can contain multiple paths by separating them with +a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + doclint + java.lang.String + 3.0.0 + false + true + Specifies specific checks to be performed on Javadoc comments. + + + doctitle + java.lang.String + false + true + Specifies the title to be placed near the top of the overview summary file. + + + encoding + java.lang.String + false + true + Specifies the encoding name of the source files. If not specified, the encoding value will be the value of the +<code>file.encoding</code> system property. +<br/> +<b>Note</b>: In 2.4, the default value was locked to <code>ISO-8859-1</code> to ensure reproducing build, but +this was reverted in 2.5. + + + excludePackageNames + java.lang.String + false + true + Unconditionally excludes the specified packages and their subpackages from the list formed by +<code>-subpackages</code>. Multiple packages can be separated by commas (<code>,</code>), colons (<code>:</code>) +or semicolons (<code>;</code>). +<p> +Wildcards work as followed: +<ul> + <li>a wildcard at the beginning should match 1 or more folders</li> + <li>any other wildcard must match exactly one folder</li> +</ul> +</p> +Example: +<pre> +&lt;excludePackageNames&gt;*.internal:org.acme.exclude1.*:org.acme.exclude2&lt;/excludePackageNames&gt; +</pre> + + + excludedocfilessubdir + java.lang.String + false + true + Excludes any "doc-files" subdirectories with the given names. Multiple patterns can be excluded +by separating them with colons (<code>:</code>). + + + extdirs + java.lang.String + false + true + Specifies the directories where extension classes reside. Separate directories in <code>extdirs</code> with a +colon (<code>:</code>) or a semicolon (<code>;</code>). + + + failOnError + boolean + 2.5 + false + true + Specifies if the build will fail if there are errors during javadoc execution or not. + + + failOnWarnings + boolean + 3.0.1 + false + true + Specifies if the build will fail if there are warning during javadoc execution or not. + + + finalName + java.lang.String + false + false + Base name of artifacts produced by this project. This will be combined with +{@link ResourcesBundleMojo#getAttachmentClassifier()} to produce the name for this bundle +jar. + + + footer + java.lang.String + false + true + Specifies the footer text to be placed at the bottom of each output file. + + + groups + org.apache.maven.plugins.javadoc.options.Group[] + false + true + 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 +(<code>*</code>) meaning "match any characters". Multiple patterns can be included in a group +by separating them with colons (<code>:</code>). +<br/> +Example: +<pre> +&lt;groups&gt; + &lt;group&gt; + &lt;title&gt;Core Packages&lt;/title&gt; + &lt;!-- To includes java.lang, java.lang.ref, + java.lang.reflect and only java.util + (i.e. not java.util.jar) --&gt; + &lt;packages&gt;java.lang*:java.util&lt;/packages&gt; + &lt;/group&gt; + &lt;group&gt; + &lt;title&gt;Extension Packages&lt;/title&gt; + &nbsp;&lt;!-- To include javax.accessibility, + javax.crypto, ... (among others) --&gt; + &lt;packages&gt;javax.*&lt;/packages&gt; + &lt;/group&gt; +&lt;/groups&gt; +</pre> +<b>Note</b>: using <code>java.lang.*</code> for <code>packages</code> would omit the <code>java.lang</code> +package but using <code>java.lang*</code> will include it. + + + header + java.lang.String + false + true + Specifies the header text to be placed at the top of each output file. + + + helpfile + java.lang.String + false + true + Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom +navigation bars link to. +<br/> +<b>Note</b>: could be in conflict with &lt;nohelp/&gt;. +<br/> +The <code>helpfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;helpfile&gt;path/to/your/resource/yourhelp-doc.html&lt;/helpfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourhelp-doc.html</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + includeDependencySources + boolean + 2.7 + false + true + 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. + + + includeTransitiveDependencySources + boolean + 2.7 + if these sources depend on transitive dependencies, those dependencies should be added to the pom as + direct dependencies + false + true + Whether to include transitive dependencies in the list of dependency -sources jars to include in this javadoc +run. + + + isOffline + boolean + true + false + Specify if the Javadoc should operate in offline mode. + + + javaApiLinks + java.util.Properties + 2.6 + false + true + Use this parameter <b>only</b> if if you want to override the default URLs. + +The key should match {@code api_x}, where {@code x} matches the Java version. + + For example: + <dl> + <dt>api_1.5</dt> + <dd>https://docs.oracle.com/javase/1.5.0/docs/api/</dd> + <dt>api_1.8<dt> + <dd>https://docs.oracle.com/javase/8/docs/api/</dd> + <dt>api_9</dd> + <dd>https://docs.oracle.com/javase/9/docs/api/</dd> +</dl> + + + javadocDirectory + java.io.File + 2.1 + false + true + Specifies the Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). +<br/> +Could be used in addition of <code>docfilessubdirs</code> parameter. +<br/> +See <a href="#docfilessubdirs">docfilessubdirs</a>. + + + javadocExecutable + java.lang.String + 2.3 + false + true + 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. + + + javadocOptionsDir + java.io.File + 2.7 + false + false + Directory into which assembled {@link JavadocOptions} instances will be written before they +are added to javadoc resources bundles. + + + javadocVersion + java.lang.String + 2.3 + false + true + Version of the Javadoc Tool executable to use, ex. "1.3", "1.5". + + + jdkToolchain + java.util.Map + 3.0.0 + false + true + <p> +Allow for configuration of the javadoc tool via maven toolchains. +This overrules the toolchain selected by the maven-toolchain-plugin. +</p> + +<p>Examples:</p> +(see <a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html"> + Guide to Toolchains</a> for more info) + +<pre> +{@code + <configuration> + ... + <jdkToolchain> + <version>11</version> + </jdkToolchain> + </configuration> + + <configuration> + ... + <jdkToolchain> + <version>1.8</version> + <vendor>zulu</vendor> + </jdkToolchain> + </configuration> + } +</pre> + +<strong>note:</strong> requires at least Maven 3.3.1 + + + keywords + boolean + 2.1 + false + true + Adds HTML meta keyword tags to the generated file for each class. + + + links + java.util.ArrayList + false + true + Creates links to existing javadoc-generated documentation of external referenced classes. +<br> +<b>Notes</b>: +<ol> +<li>only used if {@code isOffline} is set to <code>false</code>.</li> +<li>all given links should have a fetchable <code>/package-list</code> or <code>/element-list</code> +(since Java 10). For instance: +<pre> +&lt;links&gt; + &lt;link&gt;https://docs.oracle.com/en/java/javase/17/docs/api&lt;/link&gt; +&lt;links&gt; +</pre> +will be used because <code>https://docs.oracle.com/en/java/javase/17/docs/api/element-list</code> exists.</li> +<li>if {@link #detectLinks} is defined, the links between the project dependencies are +automatically added.</li> +<li>if {@link #detectJavaApiLink} is defined, a Java API link, based on the Java version of the +project's sources, will be added automatically.</li> +</ol> + + + linksource + boolean + false + true + Creates an HTML version of each source file (with line numbers) and adds links to them from the standard +HTML documentation. + + + localRepository + org.apache.maven.artifact.repository.ArtifactRepository + false + true + The local repository where the artifacts are located. + + + locale + java.lang.String + false + true + Specifies the locale that javadoc uses when generating documentation. + + + maxmemory + java.lang.String + false + true + Specifies the maximum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xmx</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + minmemory + java.lang.String + false + true + Specifies the minimum Java heap size to be used when launching the Javadoc tool. +JVMs refer to this property as the <code>-Xms</code> parameter. Example: '512' or '512m'. +The memory unit depends on the JVM used. The units supported could be: <code>k</code>, <code>kb</code>, +<code>m</code>, <code>mb</code>, <code>g</code>, <code>gb</code>, <code>t</code>, <code>tb</code>. +If no unit specified, the default unit is <code>m</code>. + + + mojo + org.apache.maven.plugin.MojoExecution + false + false + + + + nocomment + boolean + false + true + Suppress the entire comment body, including the main description and all tags, generating only declarations. + + + nodeprecated + boolean + false + true + Prevents the generation of any deprecated API at all in the documentation. + + + nodeprecatedlist + boolean + false + true + 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. + + + nohelp + boolean + false + true + Omits the HELP link in the navigation bars at the top and bottom of each page of output. +<br/> +<b>Note</b>: could be in conflict with {@link #helpfile}. + + + noindex + boolean + false + true + Omits the index from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #splitindex} + + + nonavbar + boolean + false + true + Omits the navigation bar from the generated docs. + + + nooverview + boolean + 2.4 + false + true + Omits the entire overview page from the generated docs. +<br/> +<b>Note</b>: could be in conflict with {@link #overview}. +<br/> +Standard Doclet undocumented option. +<br/> + + + noqualifier + java.lang.String + false + true + Omits qualifying package name from ahead of class names in output. +Example: +<pre> +&lt;noqualifier&gt;all&lt;/noqualifier&gt; +or +&lt;noqualifier&gt;packagename1:packagename2&lt;/noqualifier&gt; +</pre> + + + nosince + boolean + false + true + Omits from the generated docs the "Since" sections associated with the since tags. + + + notimestamp + boolean + 2.1 + false + true + Suppresses the timestamp, which is hidden in an HTML comment in the generated HTML near the top of each page. +<br><br> +<strong>Note:</strong> If the project has the property <code>project.build.outputTimestamp</code>, the value +will be overwritten to true. This way it is possible to generate reproducible javadoc jars. + + + notree + boolean + false + true + Omits the class/interface hierarchy pages from the generated docs. + + + offlineLinks + org.apache.maven.plugins.javadoc.options.OfflineLink[] + false + true + This option is a variation of {@link #links}; they both create links to javadoc-generated documentation +for external referenced classes. +<br/> +Example: +<pre> +&lt;offlineLinks&gt; + &lt;offlineLink&gt; + &lt;url&gt;https://docs.oracle.com/javase/1.5.0/docs/api/&lt;/url&gt; + &lt;location&gt;../javadoc/jdk-5.0/&lt;/location&gt; + &lt;/offlineLink&gt; +&lt;/offlineLinks&gt; +</pre> +<br/> +<b>Note</b>: if {@link #detectOfflineLinks} is defined, the offline links between the project modules are +automatically added if the goal is calling in a non-aggregator way. + + + old + boolean + false + true + 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) + + + outputDirectory + destDir + java.io.File + true + true + Specifies the destination directory where javadoc saves the generated HTML files. + + + outputTimestamp + java.lang.String + 3.2.0 + false + true + Timestamp for reproducible output archive entries, either formatted as ISO 8601 +<code>yyyy-MM-dd'T'HH:mm:ssXXX</code> or as an int representing seconds since the epoch (like +<a href="https://reproducible-builds.org/docs/source-date-epoch/">SOURCE_DATE_EPOCH</a>). + + + overview + java.io.File + false + true + 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). +<br/> +<b>Note</b>: could be in conflict with {@link #nooverview}. + + + packagesheader + java.lang.String + 2.1 + false + true + Specify the text for upper left frame. + + + project + org.apache.maven.project.MavenProject + true + false + The Maven Project Object + + + quiet + boolean + false + true + Shuts off non-error and non-warning messages, leaving only the warnings and errors appear, making them +easier to view. +<br/> +Note: was a standard doclet in Java 1.4.2 (refer to bug ID +<a href="https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4714350">4714350</a>). +<br/> +Since Java 5.0. + + + reactorProjects + java.util.List + false + false + The projects in the reactor for aggregation report. + + + release + java.lang.String + JDK 9 + false + true + Provide source compatibility with specified release + + + resourcesArtifacts + org.apache.maven.plugins.javadoc.options.ResourcesArtifact[] + 2.5 + false + true + A list of artifacts containing resources which should be copied into the +Javadoc output directory (like stylesheets, icons, etc.). +<br/> +Example: +<pre> +&lt;resourcesArtifacts&gt; + &lt;resourcesArtifact&gt; + &lt;groupId&gt;external.group.id&lt;/groupId&gt; + &lt;artifactId&gt;external-resources&lt;/artifactId&gt; + &lt;version&gt;1.0&lt;/version&gt; + &lt;/resourcesArtifact&gt; +&lt;/resourcesArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/ResourcesArtifact.html">Javadoc</a>. +<br/> + + + serialwarn + boolean + false + true + Generates compile-time warnings for missing serial tags. + + + session + org.apache.maven.execution.MavenSession + true + false + The current build session instance. This is used for +toolchain manager API calls. + + + settings + org.apache.maven.settings.Settings + 2.3 + true + false + The Maven Settings. + + + show + java.lang.String + false + true + Specifies the access level for classes and members to show in the Javadocs. +Possible values are: +<ul> +<li>public (shows only public classes and members)</li> +<li>protected (shows only public and protected classes and members)</li> +<li>package (shows all classes and members not marked private)</li> +<li>private (shows all classes and members)</li> +</ul> + + + skip + boolean + 2.5 + false + true + Specifies whether the Javadoc generation should be skipped. + + + skippedModules + java.lang.String + 3.2.0 + false + true + <p> +Comma separated list of modules (artifactId) to not add in aggregated javadoc +</p> + + + source + java.lang.String + false + true + Provide source compatibility with specified release. Since JDK 9 rather use {@link #release}. + + + sourceDependencyCacheDir + java.io.File + 2.7 + false + true + Directory where unpacked project sources / test-sources should be cached. + + + sourceFileExcludes + java.util.List + 2.9 + false + true + exclude filters on the source files. +These are ignored if you specify subpackages or subpackage excludes. + + + sourceFileIncludes + java.util.List + 2.9 + false + true + Include filters on the source files. Default is **\/\*.java. +These are ignored if you specify subpackages or subpackage excludes. + + + sourcepath + java.lang.String + false + true + Specifies the source paths where the subpackages are located. The <code>sourcepath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + sourcetab + linksourcetab + int + 2.1 + false + true + Specify the number of spaces each tab takes up in the source. If no tab is used in source, the default +space is used. + + + splitindex + boolean + false + true + 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. +<br/> +<b>Note</b>: could be in conflict with {@link #noindex}. + + + staleDataPath + java.io.File + 3.2.0 + false + true + <p> +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. +</p> + + + stylesheet + java.lang.String + This is no longer evaluated, instead use {@link #addStylesheets} to customize the CSS. + false + true + Specifies whether the stylesheet to be used is the <code>maven</code>'s javadoc stylesheet or +<code>java</code>'s default stylesheet when a {@link #stylesheetfile} parameter is not specified. +<br/> +Possible values: <code>maven<code> or <code>java</code>. + + + stylesheetfile + java.lang.String + false + true + Specifies the path of an alternate HTML stylesheet file. +<br/> +The <code>stylesheetfile</code> could be an absolute File path. +<br/> +Since 2.6, it could be also be a path from a resource in the current project source directories +(i.e. <code>src/main/java</code>, <code>src/main/resources</code> or <code>src/main/javadoc</code>) +or from a resource in the Javadoc plugin dependencies, for instance: +<pre> +&lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> could be in <code>src/main/javadoc</code>. +<pre> +&lt;build&gt; + &lt;plugins&gt; + &lt;plugin&gt; + &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; + &lt;artifactId&gt;maven-javadoc-plugin&lt;/artifactId&gt; + &lt;configuration&gt; + &lt;stylesheetfile&gt;path/to/your/resource/yourstylesheet.css&lt;/stylesheetfile&gt; + ... + &lt;/configuration&gt; + &lt;dependencies&gt; + &lt;dependency&gt; + &lt;groupId&gt;groupId&lt;/groupId&gt; + &lt;artifactId&gt;artifactId&lt;/artifactId&gt; + &lt;version&gt;version&lt;/version&gt; + &lt;/dependency&gt; + &lt;/dependencies&gt; + &lt;/plugin&gt; + ... + &lt;plugins&gt; +&lt;/build&gt; +</pre> +Where <code>path/to/your/resource/yourstylesheet.css</code> is defined in the +<code>groupId:artifactId:version</code> javadoc plugin dependency. + + + subpackages + java.lang.String + false + true + Specifies the package directory where javadoc will be executed. Multiple packages can be separated by +colons (<code>:</code>). + + + taglet + java.lang.String + false + true + Specifies the class file that starts the taglet used in generating the documentation for that tag. + + + tagletArtifact + org.apache.maven.plugins.javadoc.options.TagletArtifact + 2.1 + false + true + Specifies the Taglet artifact containing the taglet class files (.class). +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;/taglet&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;package.to.AnotherTagletClass&lt;/tagletClass&gt; + &lt;/taglet&gt; + ... +&lt;/taglets&gt; +&lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; +&lt;/tagletArtifact&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletArtifacts + org.apache.maven.plugins.javadoc.options.TagletArtifact[] + 2.5 + false + true + 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. +<br/> +Example: +<pre> +&lt;tagletArtifacts&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + ... +&lt;/tagletArtifacts&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/TagletArtifact.html">Javadoc</a>. + + + tagletpath + java.lang.String + false + true + Specifies the search paths for finding taglet class files (.class). The <code>tagletpath</code> can contain +multiple paths by separating them with a colon (<code>:</code>) or a semicolon (<code>;</code>). + + + taglets + org.apache.maven.plugins.javadoc.options.Taglet[] + 2.1 + false + true + Enables the Javadoc tool to interpret multiple taglets. +<br/> +Example: +<pre> +&lt;taglets&gt; + &lt;taglet&gt; + &lt;tagletClass&gt;com.sun.tools.doclets.ToDoTaglet&lt;/tagletClass&gt; + &lt;!--&lt;tagletpath&gt;/home/taglets&lt;/tagletpath&gt;--&gt; + &lt;tagletArtifact&gt; + &lt;groupId&gt;group-Taglet&lt;/groupId&gt; + &lt;artifactId&gt;artifact-Taglet&lt;/artifactId&gt; + &lt;version&gt;version-Taglet&lt;/version&gt; + &lt;/tagletArtifact&gt; + &lt;/taglet&gt; +&lt;/taglets&gt; +</pre> +<br/> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Taglet.html">Javadoc</a>. +<br/> + + + tags + org.apache.maven.plugins.javadoc.options.Tag[] + false + true + Enables the Javadoc tool to interpret a simple, one-argument custom block tag tagname in doc comments. +<br/> +Example: +<pre> +&lt;tags&gt; + &lt;tag&gt; + &lt;name&gt;todo&lt;/name&gt; + &lt;placement&gt;a&lt;/placement&gt; + &lt;head&gt;To Do:&lt;/head&gt; + &lt;/tag&gt; +&lt;/tags&gt; +</pre> +<b>Note</b>: the placement should be a combinaison of Xaoptcmf letters: +<ul> +<li><b><code>X</code></b> (disable tag)</li> +<li><b><code>a</code></b> (all)</li> +<li><b><code>o</code></b> (overview)</li> +<li><b><code>p</code></b> (packages)</li> +<li><b><code>t</code></b> (types, that is classes and interfaces)</li> +<li><b><code>c</code></b> (constructors)</li> +<li><b><code>m</code></b> (methods)</li> +<li><b><code>f</code></b> (fields)</li> +</ul> +See <a href="./apidocs/org/apache/maven/plugins/javadoc/options/Tag.html">Javadoc</a>. + + + testJavadocDirectory + javadocDirectory + java.io.File + false + true + Specifies the Test Javadoc resources directory to be included in the Javadoc (i.e. package.html, images...). + + + top + java.lang.String + 2.4 + false + true + Specifies the top text to be placed at the top of each output file. + + + use + boolean + false + true + Includes one "Use" page for each documented class and package. + + + useStandardDocletOptions + boolean + 2.5 + false + true + Specifies to use the +<a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/javadoc.html#standard-doclet-options"> +options provided by the Standard Doclet</a> for a custom doclet. +<br> +Example: +<pre> +&lt;docletArtifacts&gt; + &lt;docletArtifact&gt; + &lt;groupId&gt;com.sun.tools.doclets&lt;/groupId&gt; + &lt;artifactId&gt;doccheck&lt;/artifactId&gt; + &lt;version&gt;1.2b2&lt;/version&gt; + &lt;/docletArtifact&gt; +&lt;/docletArtifacts&gt; +&lt;useStandardDocletOptions&gt;true&lt;/useStandardDocletOptions&gt; +</pre> + + + validateLinks + boolean + 2.8 + false + true + Flag controlling content validation of <code>package-list</code> resources. If set, the content of +<code>package-list</code> resources will be validated. + + + verbose + boolean + false + true + Provides more detailed messages while javadoc is running. + + + version + boolean + false + true + Includes the given version text in the generated docs. + + + windowtitle + java.lang.String + false + true + Specifies the title to be placed in the HTML title tag. + + + + ${additionalJOption} + ${maven.javadoc.applyJavadocSecurityFix} + ${author} + ${bootclasspath} + ${bootclasspathArtifacts} + ${bottom} + ${breakiterator} + ${charset} + ${debug} + ${detectJavaApiLink} + ${detectLinks} + ${detectOfflineLinks} + ${docencoding} + ${docfilessubdirs} + ${doclet} + ${docletArtifact} + ${docletArtifacts} + ${docletPath} + ${doclint} + ${doctitle} + ${encoding} + ${excludePackageNames} + ${excludedocfilessubdir} + ${extdirs} + ${maven.javadoc.failOnError} + ${maven.javadoc.failOnWarnings} + +
${footer}
+
${header}
+ ${helpfile} + + + + ${javaApiLinks} + + ${javadocExecutable} + + ${javadocVersion} + ${keywords} + ${links} + ${linksource} + ${localRepository} + ${locale} + ${maxmemory} + ${minmemory} + + ${nocomment} + ${nodeprecated} + ${nodeprecatedlist} + ${nohelp} + ${noindex} + ${nonavbar} + ${nooverview} + ${noqualifier} + ${nosince} + ${notimestamp} + ${notree} + ${offlineLinks} + ${old} + ${destDir} + + ${overview} + ${packagesheader} + + ${quiet} + ${reactorProjects} + + ${resourcesArtifacts} + ${serialwarn} + + + ${show} + ${maven.javadoc.skip} + ${maven.javadoc.skippedModules} + ${source} + + ${sourcepath} + ${sourcetab} + ${splitindex} + ${staleDataPath} + ${stylesheet} + ${stylesheetfile} + ${subpackages} + ${taglet} + ${tagletArtifact} + ${tagletArtifacts} + ${tagletpath} + ${taglets} + ${tags} + + ${top} + ${use} + ${useStandardDocletOptions} + ${validateLinks} + ${verbose} + ${version} + ${windowtitle} +
+ + + org.codehaus.plexus.archiver.manager.ArchiverManager + archiverManager + + + org.apache.maven.artifact.handler.manager.ArtifactHandlerManager + artifactHandlerManager + + + org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver + artifactResolver + + + org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver + dependencyResolver + + + org.apache.maven.project.ProjectBuilder + mavenProjectBuilder + + + org.apache.maven.project.MavenProjectHelper + projectHelper + + + org.apache.maven.plugins.javadoc.resolver.ResourceResolver + resourceResolver + + + org.apache.maven.toolchain.ToolchainManager + toolchainManager + + +
+
+ + + org.apache.maven + maven-model-builder + jar + 3.2.5 + + + org.codehaus.plexus + plexus-interpolation + jar + 1.21 + + + org.eclipse.sisu + org.eclipse.sisu.plexus + jar + 0.3.0.M1 + + + javax.enterprise + cdi-api + jar + 1.0 + + + javax.annotation + jsr250-api + jar + 1.0 + + + org.eclipse.sisu + org.eclipse.sisu.inject + jar + 0.3.0.M1 + + + org.apache.maven + maven-core + jar + 3.2.5 + + + org.apache.maven + maven-settings-builder + jar + 3.2.5 + + + org.apache.maven + maven-repository-metadata + jar + 3.2.5 + + + org.apache.maven + maven-aether-provider + jar + 3.2.5 + + + org.eclipse.aether + aether-impl + jar + 1.0.0.v20140518 + + + org.eclipse.aether + aether-api + jar + 1.0.0.v20140518 + + + org.eclipse.aether + aether-util + jar + 1.0.0.v20140518 + + + org.sonatype.sisu + sisu-guice + jar + 3.2.3 + + + aopalliance + aopalliance + jar + 1.0 + + + com.google.guava + guava + jar + 16.0.1 + + + org.codehaus.plexus + plexus-classworlds + jar + 2.5.2 + + + org.sonatype.plexus + plexus-sec-dispatcher + jar + 1.3 + + + org.sonatype.plexus + plexus-cipher + jar + 1.4 + + + org.apache.maven + maven-model + jar + 3.2.5 + + + org.apache.maven + maven-settings + jar + 3.2.5 + + + org.apache.maven + maven-plugin-api + jar + 3.2.5 + + + org.apache.maven + maven-artifact + jar + 3.2.5 + + + org.apache.maven.reporting + maven-reporting-api + jar + 3.1.1 + + + org.apache.maven + maven-archiver + jar + 3.6.0 + + + org.codehaus.plexus + plexus-io + jar + 3.4.0 + + + org.codehaus.plexus + plexus-archiver + jar + 4.4.0 + + + org.apache.commons + commons-compress + jar + 1.21 + + + org.iq80.snappy + snappy + jar + 0.4 + + + org.tukaani + xz + jar + 1.9 + + + org.apache.maven.shared + maven-invoker + jar + 3.1.0 + + + org.apache.maven.shared + maven-shared-utils + jar + 3.3.3 + + + javax.inject + javax.inject + jar + 1 + + + org.apache.maven.shared + maven-common-artifact-filters + jar + 3.1.1 + + + org.sonatype.sisu + sisu-inject-plexus + jar + 1.4.2 + + + org.sonatype.sisu + sisu-inject-bean + jar + 1.4.2 + + + org.sonatype.sisu + sisu-guice + jar + 2.1.7 + + + org.apache.maven.shared + maven-artifact-transfer + jar + 0.13.1 + + + org.slf4j + slf4j-api + jar + 1.7.5 + + + org.apache.maven.doxia + doxia-sink-api + jar + 1.11.1 + + + org.apache.maven.doxia + doxia-logging-api + jar + 1.11.1 + + + org.apache.maven.doxia + doxia-site-renderer + jar + 1.11.1 + + + org.apache.maven.doxia + doxia-core + jar + 1.11.1 + + + org.apache.maven.doxia + doxia-decoration-model + jar + 1.11.1 + + + org.apache.maven.doxia + doxia-skin-model + jar + 1.11.1 + + + org.apache.maven.doxia + doxia-module-xhtml + jar + 1.11.1 + + + org.apache.maven.doxia + doxia-module-xhtml5 + jar + 1.11.1 + + + org.codehaus.plexus + plexus-i18n + jar + 1.0-beta-10 + + + org.codehaus.plexus + plexus-container-default + jar + 1.0-alpha-30 + + + org.codehaus.plexus + plexus-velocity + jar + 1.2 + + + org.apache.velocity + velocity + jar + 1.7 + + + commons-lang + commons-lang + jar + 2.4 + + + org.apache.velocity + velocity-tools + jar + 2.0 + + + commons-beanutils + commons-beanutils + jar + 1.7.0 + + + commons-digester + commons-digester + jar + 1.8 + + + commons-chain + commons-chain + jar + 1.1 + + + dom4j + dom4j + jar + 1.1 + + + oro + oro + jar + 2.0.8 + + + commons-collections + commons-collections + jar + 3.2.2 + + + org.apache.maven.wagon + wagon-provider-api + jar + 2.4 + + + org.apache.commons + commons-lang3 + jar + 3.12.0 + + + org.apache.commons + commons-text + jar + 1.9 + + + org.apache.httpcomponents + httpclient + jar + 4.5.13 + + + commons-logging + commons-logging + jar + 1.2 + + + commons-codec + commons-codec + jar + 1.11 + + + org.apache.httpcomponents + httpcore + jar + 4.4.15 + + + com.thoughtworks.qdox + qdox + jar + 2.0.1 + + + org.codehaus.plexus + plexus-java + jar + 1.1.0 + + + org.ow2.asm + asm + jar + 9.2 + + + org.codehaus.plexus + plexus-utils + jar + 3.4.2 + + + commons-io + commons-io + jar + 2.11.0 + + + org.codehaus.plexus + plexus-interactivity-api + jar + 1.1 + + + org.eclipse.aether + aether-spi + jar + 1.0.0.v20140518 + + +
\ No newline at end of file diff --git a/modello-test/src/main/java/org/codehaus/modello/AbstractModelloGeneratorTest.java b/modello-test/src/main/java/org/codehaus/modello/AbstractModelloGeneratorTest.java index f5cbb2652..e84df04bb 100644 --- a/modello-test/src/main/java/org/codehaus/modello/AbstractModelloGeneratorTest.java +++ b/modello-test/src/main/java/org/codehaus/modello/AbstractModelloGeneratorTest.java @@ -28,9 +28,14 @@ import java.util.Optional; import java.util.Properties; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.ReaderFactory; +import org.xml.sax.SAXException; /** * Abstract class for Modello plugins unit-tests that check output generated by the plugin. @@ -100,4 +105,16 @@ protected Reader getXmlResourceReader( String name ) { return ReaderFactory.newXmlReader( getClass().getResourceAsStream( name ) ); } + + protected SAXParser createSaxParserWithSchema( String generatedXsdName ) throws ParserConfigurationException, SAXException { + SAXParserFactory factory = SAXParserFactory.newInstance(); + factory.setValidating( true ); + factory.setNamespaceAware( true ); + SAXParser saxParser = factory.newSAXParser(); + saxParser.setProperty( "http://java.sun.com/xml/jaxp/properties/schemaLanguage", + "http://www.w3.org/2001/XMLSchema" ); + saxParser.setProperty( "http://java.sun.com/xml/jaxp/properties/schemaSource", + new File( getOutputDirectory(), generatedXsdName ) ); + return saxParser; + } } diff --git a/src/main/mdo/modello.mdo b/src/main/mdo/modello.mdo index 94c78800f..ce792f471 100644 --- a/src/main/mdo/modello.mdo +++ b/src/main/mdo/modello.mdo @@ -628,6 +628,7 @@ String Define a tag name to be used in XML content, which can be different from the field name. + May be '*' (since version 2.1.0) to allow all names (this effectively disables XSD validation of this field). see org.codehaus.modello.plugins.xml.metadata.XmlMetadataPlugin @@ -793,6 +794,7 @@ Define a tag name to be used for every element inside a multiple association. By default, the name is calculated as the singular of the field tag name. + May be '*' (since version 2.1.0) to allow all names (this effectively disables XSD validation of this field). see org.codehaus.modello.plugins.xml.metadata.XmlMetadataPlugin