A look at Apache Maven 2

I was using Apache Ant for for managing my day to day build tasks. I wanted to take a look at Maven for sometime now, specially as it is gaining popularity among open source circles, including Apache Software Foundation. But until recently I couldn’t find some free time to spend on Maven. I took a look at what it is here and then, but it was not very clear to me first because the concept of Maven is entirely different from Ant.

This weekend, I managed to spend sometime looking at Maven, and I have to say that I am impressed with the concept. Specially with the concept of using archetypes and phases, building on common patterns in building software. I tried out building simple projects using Maven, but still have to try to create a full blown J2EE application with Maven.

However, one thing I noted was the time it takes to download libraries from remote repositories. Its really annoying, specially when you start working with Maven for the first time, as it downloads required dependency from repositories. Since my Internet connection is not very fast, I had to wait about an hour till all the dependencies (I was trying out AppFuse) was downloaded. Also, later on, I tried to build another project, and it took about 30mins before it was done, because of downloading dependencies. It was really annoying to wait for 30mins just to get your build done. I didn’t like it, and I believe this is same with other developers, as I saw this discussed in developer forums.

Apart from this annoying time it takes for downloading libraries, the concept of Maven is cool, using build patterns, the way it resolves dependencies etc. It’s really worth to spend sometime on this tool, as it can reduce the time you spend working on writing build files (the Ant approach).

Leave a Reply

Your email address will not be published. Required fields are marked *