[ http://jira.codehaus.org/browse/MNG-3197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_121052 ]
Paul Gier commented on MNG-3197: -------------------------------- Yes, I agree that there should be a well defined order for dependencies in the classpath instead of the random order we have now. The problem I experienced with depth-first ordering is that we had some transitive dependencies that were actually re-named older versions of direct dependencies. In the example above, imagine that B1 is actually an older version of B2. Now I'm going to be compiling against the older versions of the classes that are contained in B1 instead of the newer classes listed in my dependencies. I can take care of this through using exclusions, but with a big dependency tree this can become pretty tedious. If MNG-1977 was resolved it would be easier for me to do this exclusion. I think it would be better to have a breadth first order in the edge case that two classes from different dependencies have the same fully qualified name. > 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