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]