Sounds like what I was asking about, yet cfmdobbie said it didn’t do that…?
[/quote]
Maybe I wasn’t entirely clear…
Maven fully understands versioning of libraries, and expects that all libraries have a group name (company/team), a library name, and a version number. In your project.xml you define dependencies in terms of these three criteria, and Maven (if necessary) fetches the appropiate jar, uses it in builds, bundles it in releases etc.
One project may depend on ORO 2.0.8; another project could be using ORO 2.0.7. These don’t conflict. Maven acquires both of them (as and when necessary), and uses the appropiate one at the appropiate time.
If Developer A upgrades a project from 2.0.7 to 2.0.8, he updates the project.xml, and commits any code changes. When Developer B runs an update, they receive the project.xml and the source code changes. They then do something with the project - compiling, for instance; when Maven sets things up to use the right library versions, it notices that 2.0.8 isn’t in Developer B’s local repository, and acquires it.
At no time does a library change versions without the express intention to do so. At no time does an old project break because of a new project.