I've just converted an application (JA-SIG CAS) from Maven 1 to Maven 2 in a relatively short period of time (maybe about 2 days) and I'm completely enjoying my new Maven 2 experience :-) Now, of course, I ran into the same documentation/plug-in configuration issues that everyone else probably did but overall I'm glad I made the switch. Modules work much better in Maven 2 than the hackish way I had to get them in Maven 1 and I'm more able to use the standard goals that having to write custom scripts.

My only problem now is figuring out the best way to let Eclipse handle the project and its modules (I don't like how the plug-in creates a "workspace"). That and the fact that not everything is in a Maven repository yet (Spring 2.0-rc3 among a couple of other things).

These are just my initial thoughts after using it for a short period of time. They may change after I've actually tried to do a release ;-)

Scott Battaglia
Application Developer, Architecture & Engineering Team
Enterprise Systems and Services, Rutgers University
v: 732.445.0097 | f: 732.445.5493 | [EMAIL PROTECTED]


Russ Tremain wrote:
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]


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

Reply via email to