I know this will be no surprise for many of you, yet I’m writing this post for the skepticals still around: if you’re developing Java applications and you’re not considering moving to Maven 2, well, think again. I’ve been in the skeptical camp for far too long and while I don’t plan to enter the zealot crowd anytime soon (there are still a few rough edges), I’m definitely sold on the idea.
After a few years spent juggling jars, keeping Ant skeleton files around and trying to put together best practices and guidelines, I’ve become sick of build processes that no matter what you do always end up in spaghetti code making Postscript shine as a more manageable alternative. Maven’s standardization works indeed, and what you loose in terms of flexibility is more than paid off in terms of clarity and maintainability. True enough, there is some black magic lying around, and I’m too old/not brave enough to see what has been downloaded in my local jar repository, but the overall result is just astonishing.
What makes Maven great, besides the sound ideas behind it, is the number of great plugins that are made possible thanks to standardization. If you’re an Eclipse user like me, you’ll just love the Eclipse plugin that generates project files automagically, referencing jars in your local repository. And if you’re into web applications like me, you’ll find yourself asking how on earth you managed to survive without the Jetty6 plugin around, which makes webapp development a breeze with a mere handful of configuration lines.
Bottom line: if you didn’t give Maven2 a try, this is a very good time to take it for a spin. I, for one, am not looking back.