Description
The order of the classpath entries being generated in AbstractJavadocMojo.getPathElements() (https://github.com/apache/maven-javadoc-plugin/blob/12dbbde29cf6277ca311cb8afffdf02dbfe0c9b4/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java#L2601) is internally relying on a HashMap for the compile time artifacts. That is an issue if the classpath is not 100% clean (i.e. the same package is exported by multiple artifacts) because then the success depends on the order which is not predicable for regular HashMaps. Unclean classpaths are unfortunately pretty common in reality.
To make builds more reliable please use a LinkedHashMap instead as that will keep the insertion order.
Also since elements being returned first have a higher precedence the ones being maintained via additionalDependencies should be added first (after the module's target directory but before the compileArtifacts) to allow to enforce usage of a certain module for dedicated classes.
Attachments
Issue Links
- blocks
-
SLING-6766 Javadoc: Include package org.apache.sling.adapter.annotations in the Sling javadocs
- Resolved
- links to