Women in Technology

Hear us Roar



Article:
  Maven Project Reporting and Publishing, Part 1
Subject:   I totally disagree with you
Date:   2006-01-05 06:04:23
From:   madtree
Response to: I really hate to be negative...

I think Maven (especially Maven 2) is one of the best thing that happend to Java world. We were using ant where I work before and here some issues we were facing :


1) For every new projects, we had to copy and paste some typical Ant scripts and change a couple of values according to the project nature. Ant scripts are mostly similar between different projets (compiling, generating doc, packaging, ...). So why loosing times rewriting or copying what is already done. Ant doesn't facilitate reuse.


3) Maven focus on the "what", while in Ant you have to write the "how" and the "what". Why should I have to figure out how to compile, deploy, generate javadocs everytimes? I do that for every projects. Plus, with Ant you have to understand the build script, learn the targets names, you have to *relearn* all this stuff for every projects wich don't use the same standards as you. It can drives you nut sometimes just to build a simple project if the Ant script don't respect some good practices. Why I would want to waste time to understand the build process of a project? I have more important things to do.


3) When you want to add or share new functionnalities, you need to use copy&paste. Again not very practical, with Maven you ship a plugin and it's done. Encapsulation power!


4) No need to check in the jars the projects use in your SCM.


5) Managing dependencies is a lot easier with Maven, especially Maven 2.


6) If you need the power of Ant for custom tasks, it easy to incoporate one in your build using the Ant plugin.


I like to make a comparaison about Ant and Maven using programming paradigms. I refer to Ant has being the procedural approach while Maven is the OO approach, wich addresses a lot procedural issues.


By the way, I am betting Maven will be supported by most IDE in the near future.

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • I totally agree with you
    2006-01-07 19:26:34  venge [View]

    Every single point you mention about Ant are the very reasons I stated when we moved our projects to Maven 1.

    I'm currently implementing one project with M2 but finding the dependancy gathering to be a little awkward. For example, I want to use Spring 1.2.6 and Hibernate 3.1 and I state that in my pom.xml. However, it will grab Hibernate 3.0.5 and Hibernate 2.1.7 as those are stated as requirements for Spring and doesn't "realise" that I'm already grabbing Hibernate.