Generate Javadoc without duplicate execution of phase generate-sources.

  • The standard goals javadoc and test-javadoc invoke separate lifecyles generate-sources and generate-test-sources.
  • In a CI environment you now might execute something like mvn clean deploy site site-deploy.
  • During site build the standard reports will trigger generate-sources or generate-test-sources again, depending on your build this may take some time, because stuff like enforcer or generating stubs from a WDSL will be invoked again, which may lead to longer build times.
  • See MJAVADOC-369 as well.
  • As of version 2.10 two new reports are defined, javadoc-no-fork and test-javadoc-no-fork which will not trigger above phases a second time.
  • Configure this in your reporting section as follows:
    1. <project>
    2. ...
    3. <reporting>
    4. <excludeDefaults>true</excludeDefaults>
    5. <plugins>
    6. <plugin>
    7. <groupId>org.apache.maven.plugins</groupId>
    8. <artifactId>maven-javadoc-plugin</artifactId>
    9. <version>3.11.2</version>
    10. <reportSets>
    11. <reportSet>
    12. <reports>
    13. <report>javadoc-no-fork</report>
    14. <report>test-javadoc-no-fork</report>
    15. </reports>
    16. </reportSet>
    17. </reportSets>
    18. </plugin>
    19. </plugins>
    20. </reporting>
    21. ...
    22. </project>

    Note: These reports may not be used for aggregate reports. For those, see the example of generating aggregate Javadocs without execution of phase compile.