Is Maven really better than Ant ? ________

Maven is not better than Ant, or at least if it is, that's a matter of opinion. There is very little you could do with Maven that you couldn't do with Ant using enough elbow grease and dicatatorial management authority.

[top]

Is Maven (harder, easier) to learn than Ant ?

Per implemented feature, probably easier.

But it might not seem that way, because Ant is a lot like nail soup, you can add just one vegetable at a time. So adding your second or third vegetable may seem easier than Maven, which makes an entire soup mix all at once.

Another thing that makes Maven seem much harder is that it's a huge, young project, and Maven or it's plugins are still sometimes immature.

Yes, reports are true that it is sometimes even broken, though this happens less often with core functionality in recent years.

[top]

Maven starts out with more default functionality than ant. True or False ?

Absolutely true. It's not even a contest in this area, Maven wins hands down.

[top]

By far the biggest benefit of using Maven is ________

Ahah ! That could be answered two ways, because the default archetypes are pretty cool too.

But this author maintains that the end of Jar Hell is Maven's best feature. A feature which is available as an option through Ant's own Ivy, by the way, just as default archetypes could be provided if you could only force all users to adopt the same build.xml files.

[top]

By far the biggest pain in the butt about using Maven is ________

By far the biggest PITA with Maven is also it's best feature. Maven's versioned jar system works so well that when you have even one unversioned jar, the little routine that you have to go through to version someone else's unversioned jar makes you want to throw something through the plate glass window.

This becomes an interesting study in human behaviour relative to expectations, because the same amount of effort is no big deal with Ant, just another day in the neighborhood.

[top]

What main two things will Maven do that Ant won't do.

defaults, standards.

Maven starts out with a default "archetype" and builds to that "archetype" as a standard. So all your projects of the same type look, act, and build the same way at the project level.

[top]

Describe Ant projects that make the best case for Maven

Any project that you or I don't like, which means anything that doesn't look like what we are accustomed to.

Another point for the side of standardized archetypes.

[top]

Is Ant the biggest problem ? Or is it Ant's users ?

"If everyone would just do things my way....".

Ant is just like a big gun - don't blame Ant if someone shoots the wrong thing. Nope, it's not Ant's fault.

Then again, I wouldn't exactly advise telling people that their build file is wrong, that will just start a fight. Shows the advantage of using Maven.

Yet another point for the side of standardized archetypes.

[top]

Describe ant projects that make a good case for Maven ? ________

Any project that you or I don't like, which means anything that doesn't look like what we are accustomed to.

Yet another point for the case for standardized archetypes.

[top]

What would be required to make Maven and Ant roughly equivalent at a functional level ?

Make maven stable, documented, mature to make it even with ant.

Always use ant with Ivy and one very rigorous and standardized set of build files to make even with maven.

(These are high levelover-generalizations.)

[top]

How much time could I save in a year using Maven ?

Up to a couple man weeks a year depending on what kind of projects you are doing.

[top]

Least likely group of developers to want to use Maven

Big ball of mud programmers.

Such as folks that might work on one or two corporate projects over several years, where all the code was wrapped up in one big ball of mud code base, and no one really knows what does what.

The main rule at such shops is don't do too much, lest you might break something.

Converting build files such as this to Maven would invite the kind of examination, testing, documentation, and component rationalization that could be quite harmful. Not only to the codebase itself, but the entire structure of the team, even the culture of the organization.

Not recommended.

[top]

Most likely group of developers to want to use Maven

SOA, test-first, metrics based, hard core, documented, component driven developers.

Interestingly enough, Maven itself is a pretty good example. It's an incredibly fast moving project, things are broken out into constantly evolving plugins. Or so it seems to be, for at least one observer.

[top]

All projects on Apache are now required to use Maven (true, false)

False. Sure seems like it though ! Kind of nice.

[top]

Opinion: Ant is to Maven as ______ is to databases

Ant is to Maven as flat files are to database. Sure I could write my app with it's own file based database structure instead of a database. But why would I ?

[top]

Opinion: Ant is to Maven as ______ is to IDE

Ant is to Maven as shell is to IDE. Sure I could work with a shell, not use an IDE. But why would I ?

[top]

Opinion: Ant is to Maven as ______ is to Java

Ant is to Maven as assembler is to Java. Sure I could write in assembler, and many advantages could be gained. But why would I ?

[top]

Name one thing that needs to go in an ant file that maven doesn't require that makes ant files so potentially brittle...

Directory structures. Especially when some dummy hard codes an ant file to his own hard drive.

[top]

Why might a maven plugin be a little easier to build than an ant task ?

Because it can plug into the lifecycle and default directory structures

[top]

In what way is Maven a pay forward system

You invest some time, you reap many benefits

[top]