I am a proponent of Maven 2.

We have converted a large, ant based build system, first to Maven 1.1,
and now to Maven 2.

There are many flaws.  There are many bugs.  Plugin configuration
documentation is especially poor.  Configuration of plugins is
inconsistent.  Etc., etc.  The maven 2 conversion was hard work,
and took us about 20 person-weeks and many late nights.

In other words, I consider Maven 2 to be bleeding edge, and yet
you can still build a huge project with it (but there is a trick -
see below).

The growing pains will get better, especially if there is more
discipline around plugin configuration and better testing of same.
(I just spent 12 hours recovering from a plugin snapshot regression).

So those are the bad things, but I have confidence that these issues
will get resolved in fairly short order, especially if we all help
by using Maven, reporting problems, and helping out where we can.

The good thing is, we (software folks) work in a world
of inter-dependent projects.  Maven solves that problem.  I think
it is *the* problem that needs to be solved for software to progress
faster.  How many of us have spent hours looking for the right version
of this or that jar, and then checking it in as a binary in CVS or
some other SCM?  Or developing one-off solutions to hand off kits
to another project?  These configuration issues are productivity drains,
and bug-engines, and contribute to the loss of portability of
software workers among projects.

So bottom line is: Maven 2 solves the dependency problem,
and works now, even for complex projects.  The rest of the maven
strong points (standard build lifecycle, standard source layout, etc.)
are helpful, but in my opinion, the ability to look at a single XML file,
and document all the external dependencies of the build system I'm creating, 
along with
the ability to publish artifacts in a standard way, will ultimately carry
the day.

Now, here's the trick:  ant is the escape hatch.  If you can't yet
do it with maven 2, you can do it with ant.  We still have a lot
of ant code [1].  Some because a plugin was broken or lacking features,
(the surefire and jar plugins were particular problems), some because we
simply didn't have time to convert a set of working ant scripts, and some
because we are waiting for a plugin to mature, so we can switch (jaxb comes to 
mind).

Regards,
-Russ

[1] You can review a fairly large (93 poms) maven 2.0.4 open-source project 
here:

        https://open-esb.dev.java.net/

The "m2.ant" files contain the ant code segments that were too large to inline 
in the poms.

At 12:55 PM -0500 8/29/06, Eric Redmond wrote:
>Sorry, I forgot to mention, I'm focusing soley on Maven 2.x
>
>On 8/29/06, Eric Redmond <[EMAIL PROTECTED]> wrote:
>>
>>Hi all Maven users!
>>
>>I'm beginning a study to outline the real reasons that people have for
>>avoiding Maven. My questions to you all are:
>>What were your anxieties about using Maven? If you use Maven: what helped
>>you make the decision? If you don't: why did you avoid it?
>>
>>Here are some that I have heard in the past:
>>
>>* Lack of good documentation.
>>* Community unwilling to help me with my problems.
>>* Not "industry supported" or "mainstream" enough.
>>* I don't like conforming to the Maven project layout.
>>* My project is too complex to switch.
>>* There are not enough plugins available.
>>* We already have a large investement in tool X.
>>* I have to build native/non-Java code.
>>
>>Any more reasons? Care to expand these ideas?
>>Thanks for your help!
>>____
>>Eric Redmond
>>http://codehaus.org/~eredmond <http://codehaus.org/%7Eeredmond>
>>
>
>
>
>--
>Eric Redmond
>http://codehaus.org/~eredmond


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

Reply via email to