IIRC, the order in which dependencies are declared effectively becomes the
tie-breaker when two dependency versions are declared at the same depth...so
if:

A -> B, C
B -> D (v2)
C -> D (v3)

and A declares the following:

<dependencies>
 <dependency>
   [...]
   <artifactId>B</artifactId>
 </dependency>
 <dependency>
   [...]
   <artifactId>C</artifactId>
 </dependency>
</dependencies>

then Maven should choose D (v2) because B is declared first in the POM.

As I recall, that's how the change should function.

-john

On 1/15/07, Wendy Smoak <[EMAIL PROTECTED]> wrote:

On 1/15/07, Fabrice Bellingard <[EMAIL PROTECTED]> wrote:

> The first is about dependency resolution. In the dependency tree of one
of
> my projects, I have 2 versions of the same lib at the same depth:
version
> 3.1 and 2.1.  With Maven 2.0.4, version 3.1 is selected for compiling
and
> testing, which is what I want. With Maven 2.0.5, version 2.1 is
selected,
> which breaks my unit tests because the code requires version 3.1 to run.
I'm
> not sure if this is a bug or not - maybe this resolution principle was
to be
> the default behaviour, but the fact is that there's a difference between
> 2.0.4 and 2.0.5. I've looked (quickly) into JIRA roadmap, but haven't
found
> any fixed issue related to that.

IIRC, Maven 2.0.4's behavior with two versions of the same dependency
at the same depth was undefined.  Now, it's supposed to be
predictable.

Can someone confirm?  (And explain how to predict what 2.0.5 will do
in this situation?)

--
Wendy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to