On Sun, Feb 8, 2009 at 10:07 AM, Sahoo <[email protected]> wrote:

> It appears to me that maven does not use VERSIONs while calculating
> circular dependencies. Is this true? Here is error I got:
>
> [INFO] The projects in the reactor contain a cyclic reference: Edge between
> 'Vertex{label='xxx:hk2-maven-plugin'}' and 'Vertex{label='xxx:hk2-maven'}'
> introduces to cycle in the graph
> xxx:hk2-maven --> xxx:hk2-core --> xxx:hk2-maven-plugin --> xxx:hk2-maven
>
> If versions of various artifacts were included, the above graph would have
> looked like this:
> xxx:hk2-maven:2.0-SNAPSHOT --> xxx:hk2-core:2.0-SNAPSHOT -->
> xxx:hk2-maven-plugin:1.0 --> xxx:hk2-maven:1.0.
>
> As you can see, the latter graph does not have any cycle. /Why does maven
> not use VERSION while detecting cycles?/


Typically Maven resolves versions for you -- for instance, if I depend on
Hibernate 3.0 and Commons Lang 1.3 and Hibernate depends on Commons Lang
1.4, I'll only end up with Commons Lang 1.4 at the end -- it uses the
Version to determine which is likely to be the required version, but it
won't actually include both.

There's probably a better description somewhere than I've just given.  :)

With that in mind, I wouldn't expect it to consider the version in cyclical
dependency checks.

  - Geoffrey
-- 
Geoffrey Wiseman
http://www.geoffreywiseman.ca/

Reply via email to