Again, this is because dependency B is not using version ranges but rather
forcing a specific version on its downstream dependents.
If A requires a different version, it has to declare that dependency in
order to override the transitive dependency version from B. There's
nothing Maven can do when the POM data is incorrect. You need to exclude
it or override it.
[EMAIL PROTECTED] wrote on 08/09/2006 01:29:22 PM:
>
> Defining <dependencyManagement> in the parent does not seem to cover all
the
> cases for me. A simplified scenario goes like this:
> * Parent POM declares a version for artifact A
> * Child POM declares (or inherits) a dependency on artifact B
> * Dependency B declares a dependency on artifact A with an explicit, but
> different, version number.
>
> It seems that the two dependencies on artifact A are at the same "level"
(in
> the terms of the book's section on this) and therefore the behavior is
> undefined. Indeed, it seems to work for most of the dependencies with
> version conflicts, but not all of them ... and it is completely unclear
to
> me at this point why the cases are different.
>