This post originated from an RSS feed registered with Java Buzz
by Scott Stirling.
Original Post: Using Maven for the Project Object Model
Feed Title: Blaug Blawg Blog
Feed URL: http://users.rcn.com/scottstirling/rss.xml
Feed Description: Java Testing, Tools and Engineering
If you're into modeling your build, source management, testing, deployment and distribution problems as objects, behaviors and relationships, you'll like Maven, which is now a top-level Apache project, you'll notice.
Maven has formalized and abstracted elements of the structure of typical Ant-based Java projects into a project object model (POM). You describe your build with abstractions like repository (for jar files), dependency, build resource, standard target names, etc., all in XML. Under the covers a Jelly script is created and executed from your project description. A great side benfit is that there is great integration with Ant. And there are many "plugins" for extending the basic functionality, similar in concept to custom JSP tag libraries or Ant custom tasks.
In our newly restructured ClearCase repository, where we are organizing things by UCM component, Maven may come in very handy -- our source structure looks similar to the Jakarta Commons project, described here.