Before I go ahead, let me tell you this post is not about how these tools get integrated with each other. I just came across these tools and found it really useful in day to day development. Based on my experience, I found these tools are quite useful and definately worth using in project (Maven is already well established dependency management tool, most of you must be aware of it.)
I started using Apache Maven from last few days. Though I have been knowing this tool for years, I never gave it a try (Thanks to my laziness) but got curious in last few days and thought of exploring it. I visited many sites flooded with articles on Maven and how it manages dependencies that helps developers to stop worrying about downloading libraries from various places. Its lifecycle feature to manage build and generate various build related artifacts is very strong feature and I think one would find it very tedious process to perform such stuffs without maven (code analysis, code coverage, doc generation, assembly etc). Maven looks so easy, as If you want to build a JAR from existing java sources, you just have to write couple of lines and most of which are actually not related about how to build the JAR but additional information like (version, artifact id etc). If source code structure matches to Maven’s predefined structure it is just couple of lines that can compile, test, generate javadoc, generate various reports and finally package JAR. What more… It can even tag your source code, generate release and put deployable inside Repository (I just mentioned one – Archiva) so others can access it. Think about doing same stuffs, with other build tools and the script you will have to write, running into number of lines. Go ahead and explore it on http://maven.apache.org
Apache Archiva, is one more good tool I came across, Thanks to book “Apache Maven 2 : Effective Implmentation”. While Maven is good at managing project dependecies, Archiva is quite handy and makes nice pair with Maven, with its Repository Mangement feature. The tool is so easy that it provides web interface and you will almost require no guidance at all on how to use it (obviously you need to know basics of What is Repository? and its Role. But that just theory, the options in Archiva web interface are very well placed). Got curious, check it out at http://archiva.apache.org/
I have been looking out for some tool to manage tasks, features and enhancement. Putting all task related information like discussion, attachments, tracking status etc. And fortunately stumbled upon The Bug Genie. The name really suits to this tool as it is real Genie which has every feature you can expect from a task management tool plus it provides features like Release tracking, milestons, components, reporting etc. Quite interesting tool to use in project and yeah its free. So go ahead and give it try http://www.thebuggenie.com/. Its developed in PHP (one of my fav lang ;)), so you just require web server capable of running PHP and MySQL db.