[
http://jira.codehaus.org/browse/MNG-3197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_121033
]
richard rattigan commented on MNG-3197:
---------------------------------------
See my comment on MNG-1412.
I don't think the problem is that transitive dependencies take priority; rather
the problem is that there is no defined ordering. Depth-first traversal (in
order of dependency declaration) would allow adequate control. In this case, it
would give a classpath of
B.2:C.1:B.1
Reversing the dependencies in the pom:
A -> C.1 -> B.1
A -> B.2
would give a classpath of:
C.1:B.1:B.2
> Direct dependencies should come before transitive dependencies in build
> classpath.
> ----------------------------------------------------------------------------------
>
> Key: MNG-3197
> URL: http://jira.codehaus.org/browse/MNG-3197
> Project: Maven 2
> Issue Type: Improvement
> Affects Versions: 2.0.7
> Reporter: Paul Gier
> Fix For: 2.0.x
>
> Attachments: MNG-3197-maven-artifact-r574693.patch
>
>
> Currently the transitive dependencies appear to take priority over direct
> dependencies in the compile and test classpaths.
> For example project A depends on B version 2 and C version 1:
> A -> B.2
> A -> C.1 -> B.1
> When the tests are run, the classpath will be in an order similar to:
> B.1:C.1:B.2
> Since B.1 comes first in the classpath, it will be used when running the
> tests. But it seems that B.2 should be used when testing because it has the
> direct dependency.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira