maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebastian Marsching (JIRA)" <>
Subject [jira] [Created] (MJAVADOC-450) Artifacts with a classifier are ignored when looking for resources in dependencies
Date Tue, 03 May 2016 15:01:12 GMT
Sebastian Marsching created MJAVADOC-450:

             Summary: Artifacts with a classifier are ignored when looking for resources in
                 Key: MJAVADOC-450
             Project: Maven Javadoc Plugin
          Issue Type: Bug
    Affects Versions: 2.10.3
         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"

            Reporter: Sebastian Marsching

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

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.

This message was sent by Atlassian JIRA

View raw message