[ 
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

        

Reply via email to