Yes we use version ranges in our poms.

The only problem we have is speed and memory.

Everytime a build of a project is kicked off from the command line or within eclipse maven downloads the meta data files for each dependent and transitive dependencies. You can understand this since maven needs to check for later versions within the ranges specified. You can stop the downloads by running in offline mode which can help a bit.

However we've noticed maven downloads the same meta data file 39 times in one maven build. It seems that maven does not cache these during a build and if a pom specifies 10 artifacts and each of these artifacts depends on artifact X then the meta data file for artifact X is downloaded 10 times instead of just once. In offline mode the build still takes a long time and we need memory settings of at least -Xmx1000m to get a successful build so I suspect the local repo meta data files are also being loaded over and over again as well.

We tried to use snapshots originally but had to abandon them since maven 3.0.3 does not support maintaining a single snaphot, it creates a new snapshot each time, meaning you end up with many snaphot versions which played havoc when using version ranges. Builds would fall over with out of memory even when given as much as memory as possible on our dev machines. So we maintained versioned artifacts ourselves. However as the number of versions increases for a specific artifact the builds seem to be getting exponentially slower.

This makes building in eclipse very painful (using m2e), you could change one dependency and then have to wait many minutes before eclipse manages to re-build specific projects.

Any ideas or suggestions?

Is the dependency management code easy to understand? I'm happy to get my hands dirty.

--
Paul French
Kirona Solutions Ltd
Tel: 07803 122 058
E-Mail: [email protected]
Web: www.kirona.com <http://www.kirona.com>

This email and any attachments are confidential and should only be read by those to whom they are addressed. If you are not the intended recipient, please contact us on 01625 585511, delete the email (including any attachment) from your computer and destroy any copies. Any distribution or copying without our prior permission is prohibited. Internet communications are not always secure and may be subject to delays, non-delivery and unauthorised alterations. Therefore, information expressed in this message is not given or endorsed by Kirona Solutions Limited ("Kirona") unless otherwise notified by our duly authorised representative independent of this message. No warranty is given that this email (including any attachment) is virus free. Any views or opinions presented are solely those of the author and do not necessarily represent those of Kirona.

Registered addresses: Kirona Solutions Limited, Barrington House, Heyes Lane, Alderley Edge, Cheshire. SK9 7LA Registered in England and Wales No: 04678711

Reply via email to