You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Robert Nicholson <ro...@gmail.com> on 2009/01/13 21:29:03 UTC

Dependency's b/w version 2.0.8 and 2.0.9

I've just noticed a change in behaviour b/w maven 2.0.8 and 2.0.9 releases.
In our project we had two dependencies of ehcache defined each a different
version and unfortunately each using a different groupid in the artifact's
pom.xml that referenced the dependency.

It seems if you build with v 2.0.9 you end up with different versions of
ehcache being added to lib whereas in v 2.0.8 you would only have the most
recent version of ehcache despite the dependency references differing by
groupid.

Does anybody remember anything specifically introduced in 2.0.9 that made
the groupid significant when assessing the dependencies? Perhaps it's not
groupid but what's what differed.

2.0.7, 2.0.8 result in one version of ehcache despite the references having
differed by groupid where as 2.0.9 results in two versions of ehcache being
identified.

RE: Dependency's b/w version 2.0.8 and 2.0.9

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
The most likely cause is that the dependency order from the poms is
preserved in 2.0.9. In 2.0.8 and earlier, the dependencies were saved in
a HashSet and it was subject to the native set ordering. They are now
stored in a linkedHashSet. 

So the culprit is probably one of your dependencies is being processed
earlier than it was before and is influencing the selection. If two
artifacts conflict and are the same depth, the first one wins. 

The workaround will be to look at the dependency:tree output between
2.0.8 and 2.0.9 and then reorder your pom to get the correct behavior.
Alternatively you can specify directly the version of ehcache you want.

You might also want to run dependency:analyze on your project to be sure
you are declaring all your dependencies correctly. If you have used,
undeclared dependencies, you are more susceptible to these types of
issues.

--Brian

-----Original Message-----
From: Robert Nicholson [mailto:robert.nicholson@gmail.com] 
Sent: Tuesday, January 13, 2009 12:29 PM
To: users@maven.apache.org
Subject: Dependency's b/w version 2.0.8 and 2.0.9

I've just noticed a change in behaviour b/w maven 2.0.8 and 2.0.9
releases.
In our project we had two dependencies of ehcache defined each a
different
version and unfortunately each using a different groupid in the
artifact's
pom.xml that referenced the dependency.

It seems if you build with v 2.0.9 you end up with different versions of
ehcache being added to lib whereas in v 2.0.8 you would only have the
most
recent version of ehcache despite the dependency references differing by
groupid.

Does anybody remember anything specifically introduced in 2.0.9 that
made
the groupid significant when assessing the dependencies? Perhaps it's
not
groupid but what's what differed.

2.0.7, 2.0.8 result in one version of ehcache despite the references
having
differed by groupid where as 2.0.9 results in two versions of ehcache
being
identified.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org