I too find the official Maven docs to be insufficient to many tasks. On the
other hand, while I have rewritten some of those docs and submitted them
back, I can't really figure out a good way to reorganize them so as to
provide me with what I need. Someone will think of that someday and we will
all go, "Why didn't I think of that?" and the problem will be solved.

I suspect that the first Ant version had docs that were harder to use than
the current Ant does. When I started with Ant it was 2001 and I found it
hard to understand. Then came an "ah-ah" moment and I knew Ant's system well
enough to start finding my answers. I think the "basic" docs for Ant are
still a bit lacking. (That's as opposed to the "task" docs.) Once you know
enough that you can find a 'task' name and look it up, though, that part of
Ant's doc works pretty well.

Compare that to Maven. Maven has a bigger "basic" part than Ant. That means
it's going to take longer to get to the "ah-ha" where you start knowing how
to look things up. If you don't know whether you need info on a plugin or in
the basic Maven features, it's really hard to know where to look in the
online docs.

Second, I also remember maintaining giant, complicated Ant scripts to build
the complete EAR for a whole application. The first time I did that, all on
my own, without stealing the ANT code from other folks, it was a mess. I
spent weeks getting things to build right and nobody else could touch the
Ant build file without messing it up somehow. Similarly, coming into a big
project with existing Ant scripts, I never figured out how it worked. I only
learned how to make changes to the small parts I worked with. (Maven is much
easier to use in this situation.)

That confusion with a new build system is exactly what happened with my
first set of POMs for building a complete application. Every "feature" that
wasn't a standard part of a Maven build was a mess. But, the messes were
independent of each other because of the way Maven works. So I didn't have
to get everything working before anything worked. (That's the way that first
Ant script worked.)

Then I added a couple dozen lines to the parent POM and ended up with lots
of interesting reports. I added a few more lines of xml and got the build
totally repeatable with documented jar versions and maven versions set. I
was able to clean up the funky parts without breaking everything else. That
was a wonderful thing Maven did for me.

The main tricky part (and this was early last year) was the bugs in the
various plugins and mismatch issues with other development tools. Oops,
sorry, you can't have it build all the javadoc for all the jars together
until the next version. And you have to organize your project this way to
make it work with Eclipse 3.2 but then the release plugin doesn't quite
work. And you can't get MyEclipse to deploy your application because it has
different conventions than Maven. The bug situation is so much better now
but I'm sure it still frustrates new users.

My conclusions:

1) Maven is better than Ant and I have the same learning curve I did when I
learned Ant. I'm just older and more set in my ways now.
2) Maven and other development tools don't quite work together smoothly. I
hope that gets fixed. I see progress.
3) Any bug in Maven or a plugin drives me nuts because it's hard to work
around it. Adding Ant tasks to the Maven build as a work-around is not
always straightforward and always requires more knowledge of the internal
way Maven works than I want to learn.

Thanks.

-- Lee

On 9/24/07, Bob Aiello <[EMAIL PROTECTED]> wrote:
>
> One of Maven's values is that it
> "does the heavy lifting for you".
> (as it's literature describes.)
>
> But that is also exactly the problem - because
> it is sometimes hard to tell what is going
> on. You need to keep the Maven cycle in
> mind at all times - and that does add
> another level of indirection.
>
> As a build engineer I am often getting complicated
> Maven poms from developers and then I gotta
> decipher what is happening.
>
> With Ant - it's a lot more transparent.
> I am not criticizing maven (then we'd be talking
> about the painful bugs), but I do think that
> it is fair to say that it is harder to understand
> what is happening...
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
-- Lee Meador
Sent from gmail. My real email address is lee AT leemeador.com

Reply via email to