Maven (2) works REALLY well with transitive dependencies (something ant
doesn't).  So much is available right out of the box (keeping build
files simple and easily maintained.  Why would you want an additional
archive server?  Why store things in your scm tool that won't be
versioned?  Since all the jar files are in binary format, you're storing
the entire version when you check in a jar, not just the changes since
last version.  In addition to this, I've seen companies have a lib
directory per branch/project.  Why sync the same jar in two (or many
more) locations when you can keep it in one?  This makes even more sense
when you have a bunch of projects that use the same binary.  Having
maven maintain these binary files (and the associates classpaths) is so
much nicer than having some entry in an ant script.

About the directory structures - these CAN be overridden in maven, BUT
the beauty of this is by getting all the projects to conform, there's
less entry in the pom.xml files to say where is source, where do the
classes go, where does the built up jar go.  Additionally, I've seen
over the years people sticking source where ever they feel it belongs.
Maven (when using the defaults) keeps everything properly packaged so
one project looks like the next (and so on...).

Maven is all about modularity - if you are forced to build everything at
once (utils/db/app/web/etc classes) and you have source level
dependencies, then this isn't for you.  If you have a very modular
product (if you just need to deploy a new war with some freshly
recompiled classes that are at that level, not in some core package),
then maven makes handling these builds very easy.

On a side note, maven2 is horrendously documented.  Be prepared to spend
a great deal of time tinkering and waiting for replies on the mailing
list if you opt to go this route.


-----Original Message-----
From: Scot P. Floess [mailto:[EMAIL PROTECTED] 
Sent: Monday, June 12, 2006 8:09 AM
To: Ant Users List
Subject: Re: Maven vs. Ant?

Jeff:

I don't know a whole lot about maven other than what people have told 
me.  I've heard that whole argument regarding standard environment 
(directories, etc).  However, to me that seems like a pointless 
argument...  I am working on a build environment for my open source 
project...to allow me to simply and easily use the environment for any 
project.  I have "suggested" directory structures...but its all 
overidable.  Regarding library dependencies...I just don't see why that 
is a requirement or a need.  Its my experience that I will develop 
against a "known" set of libraries.  Going out to sync those libraries 
doesn't seem to make sense unless I want the newer libraries.  And then,

to your point, would get the latest and store in some form (perhaps 
source control)...  But typically any place I have ever worked insists 
on using a set of libraries at a certain release number.  Then over 
time, upgrade to newer versions...but not simply keep updating...

To be honest, I haven't found a compelling reason to use maven as ant 
does so much for me...  Maybe its my lack of knowledge or I am biased 
toward ant...

Scot

Jeff A. Drost wrote:
> For anyone who's used Maven, do you prefer Ant to Maven?  Why or why
> not?  What advantages does Maven have over Ant?  Anyone use Maven in
> conjunction with Ant?
>
> I read that Maven has the advantage of standard build commands versus
> proprietary build commands (targets) created in Ant.  Couldn't this be
> accomplished using <ant> tasks in a set of organization-standardized
Ant
> build files?
>
> Maven also advertises itself as good on dependencies, but I'm not so
> sure about maintaining a proprietary archive server.  Why does Maven
not
> want you to use a SCM tool (CVS, Subversion, etc.) to store your
library
> files?
>
>
> __________________________________________________________
> The information transmitted may contain confidential material and is
intended only for the person or entity to which it is addressed.  Any
review, retransmission, dissemination or other use of, or taking of any
action by persons or entities other than the intended recipient is
prohibited.  If you are not the intended recipient, please delete the
information from your system and contact the sender.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>   

-- 
Scot P. Floess
27 Lake Royale
Louisburg, NC  27549

252-478-8087 (Home)
919-754-4592 (Work)

Chief Architect JPlate  http://sourceforge.net/projects/jplate
Chief Architect JavaPIM http://sourceforge.net/projects/javapim


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to