Re: Dependence on specific versions
On Thu, Feb 10, 2011 at 10:23 PM, Thomas Zeeman <email@example.com> wrote:
> Actually, you can predict it. Given the above order and no outside influences like a dependencyManagement block in your (parent) pom, it would be 0.1. See http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html for a more detailed explanation on why this is and what surprising results the dependency mediation can have.
what I wanted to say: you cannot predict that for any non trivial real
work project. Try to look at the dependency chain of maven itself. But
not for too long because of the danger of getting insane. :)
> If a and c depend on the same part of the API of b and it has changed from .1 to .2 you will be in for either some spectacular failure at run time or some very subtle and hard to notice error in your application behaviour.
Yes, runtime is another step where the whole thing collapses. That is
probably why integration tests are more important in the Java world
[*] - the code uses different dependencies during unittest time
(provided by Maven) and after integration (something else).
[*] I must confess that I have no hard scientific evidence for my claim.