You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Elliotte Rusty Harold (JIRA)" <ji...@apache.org> on 2019/03/29 18:58:00 UTC

[jira] [Created] (MNG-6621) Document how versions of a direct dependency's transitive dependencies are selected.

Elliotte Rusty Harold created MNG-6621:
------------------------------------------

             Summary: Document how versions of a direct dependency's transitive dependencies are selected. 
                 Key: MNG-6621
                 URL: https://issues.apache.org/jira/browse/MNG-6621
             Project: Maven
          Issue Type: Improvement
          Components: Documentation:  General
            Reporter: Elliotte Rusty Harold


Situation:

a:a depends on foo:foo:2.1
foo:foo:2.1 depends on baz:baz:3.2
baz:baz:3.2 depends on guava:guava:25.0-android

However, foo:foo:2.1 imports a BOM (or inherits from a parent pom) that specifies that guava:guava:27.1-jre will be used.

So which version of guava:guava does a:a add to its classpath, 25.0-android or 27.1-jre? I think the answer is 25.0-android. That is, the dependency management from the middle of the tree is ignored when building a:a. 

However I don't think the docs ever say this. They need to. 






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)