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/
