Eric Redmond said: > On 2/28/06, Ralph Goers <[EMAIL PROTECTED]> wrote: >> >> >> If this is truly the way it works than it certainly can't be claimed >> that Maven supports transitive dependencies as they will almost always >> have to be bypassed. For example, if project A includes myfaces 1.1.1 it >> has dependencies on beanutils 1.7.0 and digester 1.7.0. What is >> interesting is that digester 1.7.0 specifies a dependency of beanutils >> 1.6.0. Now presumably, myfaces specification will override digesters. >> But now, what if project A also specifies digester 1.7.0 as a >> dependency? You will end up with both beanutils 1.6.0 and beanutils >> 1.7.0 in your build target, which is completely unacceptable. The >> solution is for us to scour the pom's we are using and then look at >> their dependencies, etc.? I don't thnik so. Instead, everyone will be >> forced to declare all their dependencies in the parent pom. > > > If that's your problem, you're going to have that issue anyway, no matter > what build system you are using. Maven manages builds, its not a magic > project-hierarchy fixer. In any case, for an extention which DOES do what > you are asking, check out pomstrap: > > http://pomstrap.tigris.org/ > > Eric >
Thanks, Eric. That project looks interesting and possibly simpler than OSGi. Versioning is definitely one of the sore spots in Java. However, we aren't looking for Maven to be a "magic project-hierarchy fixer". I think that simply having the behavior of the jar override feature of Maven 1 combined with transitive dependencies in Maven 2 would be enough. It is simply a matter of where the control lies in choosing versions. We believe it needs to be at a global (i.e. corporate wide) scope. Changes to versions of third party jars always start with our lowest level framework compoents and percolate their way up. As I said, Maven could even emit Warnings when it detects that the version specified in dependencyManagement is less than the version in the actual dependency. This simply provides a way for our Configuration Management folks to know that every in-house project was built and tested with the exact same components along the way before they were combined into the delievered product, which is also using those versions. Frankly, I just don't understand why there is reluctance to provide a feature that folks were happy with in Maven 1. Ralph --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]