Here is a typical project used by the Maven Javadoc plugin:
- yourproject
- |-- src
- |-- main
- | |-- java
- | | |-- org
- | | |-- apache
- | | |-- myapp
- | | `-- App.java
- | |-- javadoc
- | `-- overview.html
- | |-- org
- | |-- apache
- | |-- myapp
- | `-- package.html
- | |-- doc-files
- | `-- app.png
- |-- test
- |-- java
- | |-- org
- | |-- apache
- | |-- myapp
- | `-- AppTest.java
- |-- javadoc
- `-- overview.html
- |-- org
- |-- apache
- |-- myapp
- `-- package.html
- |-- doc-files
- `-- app.png
You need to configure the Maven Javadoc plugin in your pom.xml, for instance:
- <project>
- ...
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
- <configuration>
- <doctitle>My API for ${project.name} ${project.version}</doctitle> <!-- Used by javadoc:javadoc goal -->
- <windowtitle>My API for ${project.name} ${project.version}</windowtitle> <!-- Used by javadoc:javadoc goal -->
- <testDoctitle>My Test API for ${project.name} ${project.version}</testDoctitle> <!-- Used by javadoc:test-javadoc goal -->
- <testWindowtitle>My Test API for ${project.name} ${project.version}</testWindowtitle> <!-- Used by javadoc:test-javadoc goal -->
- ...
- </configuration>
- </plugin>
- </plugins>
- </build>
- ...
- </project>
You could call mvn javadoc:test-javadoc or mvn site. See javadoc:test-javadoc parameters for more informations.
Notes:
You could also want a different kind of configuration for the Javadoc report and the test Javadoc report. For this, you need to configure the Maven Javadoc plugin in your pom.xml to handle the <reportSets/> configuration parameter, for instance:
- <project>
- ...
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
- <reportSets>
- <reportSet>
- <id>html</id>
- <configuration>
- <doctitle>My API for ${project.name} ${project.version}</doctitle>
- <windowtitle>My API for ${project.name} ${project.version}</windowtitle>
- ...
- </configuration>
- <reports>
- <report>javadoc</report>
- </reports>
- </reportSet>
- <reportSet>
- <id>test-html</id>
- <configuration>
- <testDoctitle>My Test API for ${project.name} ${project.version}</testDoctitle>
- <testWindowtitle>My Test API for ${project.name} ${project.version}</testWindowtitle>
- ...
- </configuration>
- <reports>
- <report>test-javadoc</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- </plugins>
- </reporting>
- ...
- </project>
You need to call mvn site.