Affects Version/s: 2.10.3
Fix Version/s: None
Environment:Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
Java version: 1.8.0_66, vendor: Oracle Corporation
OS name: "mac os x", version: "10.11.4", arch: "x86_64", family: "mac"
When adding a an artifact with a classifier to the dependencies of the maven-javadoc-plugin, this artifact is not used when trying to resolve dependencies.
The symptom is that a message like
[WARNING] Unable to find the resource 'path/to/resource'. Using default Javadoc resources.
is displayed, even though the resource "path/to/resource" is present in a JAR listed in the plugin dependencies.
The reason for this seems to be that the code resolving the artifact does not consider the specified classifier: The class JavadocPathArtifact does not have a field for the classifier and consequently, the classifier is not set when building the JavadocPathArtifact in AbstractJavadocMojo.getResource (AbstractJavadocMojo.java:5307).
The solution is adding a classifier field to JavadocPathArtifact and using this classifier in AbstractJavadocMojo.createAndResolveArtifact. However, I think there is also bug in that method because it uses createProjectArtifact when it should probably use createArtifactWithClassifier. createProjectArtifact always refers to the POM, so in the end the pom.xml is added to the classpath which never makes sense.