The Javadoc Plugin generates javadocs using the Javadoc tool. The following examples describe the basic usage of the Plugin.
To generate javadocs as part of the site generation, you should add the Javadoc Plugin in the <reporting> section of your pom:
<project> ... <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.4.1</version> <configuration> ... </configuration> </plugin> </plugins> ... </reporting> ... </project>
When you execute mvn site, the javadocs will be generated and included in the generated site. A link to the javadocs will be added in the Project Reports menu.
To generate standalone javadocs for the project, you could add the Javadoc Plugin in the <build> section of your pom (if no configuration defined, the plugin uses default values):
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.4.1</version> <configuration> ... </configuration> </plugin> </plugins> ... </build> ... </project>
And execute any of the following commands:
mvn javadoc:javadoc mvn javadoc:jar mvn javadoc:aggregate mvn javadoc:aggregate-jar mvn javadoc:test-javadoc mvn javadoc:test-jar mvn javadoc:test-aggregate mvn javadoc:test-aggregate-jar
For all jar goals, the javadocs are first generated and then packaged into a jar file.
The Javadoc Plugin supports a large number of configuration parameters. Each configuration parameter turns into a tag name.
Please refer to the Javadoc Plugin Documentation for a listing of these parameters. Most of these parameters are passed directly to the Javadoc tool itself.
IMPORTANT NOTE: configuring the Javadoc plugin in the <reporting/> or <build/> elements in the pom have NOT the same behavior as described in the Guide to Configuring Plug-ins.
For instance, if you have the following snippet:
<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.4.1</version> <configuration> <show>private</show> <nohelp>true</nohelp> </configuration> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.4.1</version> <configuration> <stylesheetfile>${basedir}/src/main/javadoc/stylesheet.css</stylesheetfile> <show>public</show> </configuration> </plugin> </plugins> </reporting> </project>