[ajug-members] Maven 2 [was: favorite IDE]

Björn Gustafsson bjorng at gmail.com
Fri Aug 11 15:43:53 EDT 2006


Hi James,

I do see the advantages of the "convention over configuration"
approach to builds that Maven espouses.  I think that many/most of
Maven's conventions are sensible.  But the downside is that you have
to be *aware* of those conventions in order to take advantage of them.

For example, Jason Vinson mentioned the `maven -g' option to list
goals.  I remember that from Maven 1, but it no longer seems to exist
in Maven 2.  How do I even find out which goals are available or
relevant to my project?  And once I do that, how do I find out how
they relate to one another, or more important, to what I want to do
with the project?  With ant, even when I had no prior knowledge of the
tool I could get an idea of how to use a particular build script in a
few minutes. That wasn't true of Maven 1 and it seems less true of
Maven 2.

I personally haven't used Maven 2 on a project yet, and even prior
experience with Maven 1 didn't help me to figure out how to get it
plugged in to our development environment.

Given that the problem with it is simply understanding the
conventions, I don't see how anything other than reading about Maven
could assist in making it usable.   And to me it seems to have a lot
more that you have to remember (or have the IDE expose to you) than
ant or make.  It's more like learning a new mindset than learning a
new tool.

All this sounds like I'm down on Maven, but I'm not.  I very much like
some of the concepts behind it.  Our development group is in the
process of adopting it right now.  I'm just saying that it's not
painless.


On 8/11/06, James Mitchell <jmitchell at apache.org> wrote:
> I figured if I'm gonna write I might as well blog too :)
>
>   http://jamesmitchell.us/space/start/2006-08-11/1#Maven_-_A_new_paradigm
>
> --
> James Mitchell
> 678.910.8017
>
> P.S.  If anyone needs help migrating to Maven, I would be happy to
> lend a hand
>
> On Aug 11, 2006, at 10:34 AM, Björn Gustafsson wrote:
>
> > To me the biggest drawback with Maven 2 is the implicitness of the
> > targets.  In Ant your build.xml tells you what you can do with the
> > project.  By contrast all the Maven POM file tells you are
> > dependencies.  The "targets" are all defined by Maven's conventions,
> > and possibly by plugins that you or others supply.
> >
> > IDEs can help out with this by providing a list of the available
> > options for running maven, but at least when you first start using it
> > that's not terribly helpful either, as there may be dozens or hundreds
> > of them.  Some of them may have unexpected consequences, too, which
> > can be difficult to discover without trying them.
> >
> > The upside of this approach is that once you get used to Maven's
> > conventions, you can go to just about any maven project and know how
> > to build it.
> >
> > On 8/11/06, Howard Kapustein <hkapustein at manh.com> wrote:
> >>
> >> Ok, maven's got good spots.
> >>  What's the downsides?
> >>
> >>  Come on. "all tools suck, they just suck differently." so what's
> >> maven's
> >> drawbacks?
> >>
> >>  -----Original Message-----
> >>  From: ajug-members-bounces at ajug.org <ajug-members-bounces at ajug.org>
> >>  To: General AJUG membership forum (100-200 messages/month)
> >> <ajug-members at ajug.org>
> >>  Sent: Fri Aug 11 07:43:01 2006
> >>  Subject: Re: [ajug-members] favorite IDE
> >>
> >>  Ya, and that's another great things about Maven.  You can
> >> generate an
> >>  Ant build file based off of your current Maven build (pom.xml) for
> >>  your developers/users/customers who don't have Maven.  As your
> >>  project grows and matures, you can regenerate anything again at any
> >>  time (Eclipse configs, Ant build scripts, etc, etc).
> >>
> >>  Oh!  And don't *even* get me started on Archetypes,  you'll be
> >>  drooling after 2 minutes.
> >>
> >>  --
> >>  James Mitchell
> >>  678.910.8017
> >>
> >>  On Aug 10, 2006, at 5:55 PM, Justin Meads wrote:
> >>
> >>  > We don't use Eclipse for our build process (only development).  We
> >>  > use CruiseControl to keep us honest and our production builds are
> >>  > performed on Unix with Ant (which recursively calls make to build
> >>  > the C++ portion of the app).
> >>  >
> >>  > -Justin
> >>  >
> >>  > On Aug 10, 2006, at 3:11 PM, Howard Kapustein wrote:
> >>  >
> >>  >>> With Maven 2, you simply tell it you want Hibernate and what
> >> version
> >>  >> and
> >>  >>> it will get and use *that* Hibernate versions dependencies
> >>  >> THAT is what I'm looking for.
> >>  >>
> >>  >> I want - need - to specify what my project uses, what versions
> >> are
> >>  >> used,
> >>  >> and ensure "the right thing happens" e.g. given environment
> >> variables
> >>  >> (or the like)
> >>  >>
> >>  >> HIBERNATE_DIR=c:\hibernate
> >>  >> HIBERNATE_VER=3.0.3
> >>  >>
> >>  >> where ***these are not 'owned' by Eclipse***. Jamming those in a
> >>  >> trivial
> >>  >> .batch file or .shell script and feeding them to various tools
> >> is a
> >>  >> necessity. For those of us who <gasp> use more than just Eclipse
> >>  >> in our
> >>  >> build process (interactively as well as automated).
> >>  >>
> >>  >> When I jam versions and paths into Eclipse (be it .classpath or
> >>  >> workspace property files) I lose that flexibility and control.
> >>  >>
> >>  >> For those of you who have no qualms living, breathing and ONLY
> >> using
> >>  >> Eclipse as the 'parent' master process, more power to you. But I
> >>  >> think
> >>  >> you've misspelled emacs.
> >>  >>
> >>  >>
> >>  >> Maven 2 sounds interesting.
> >>  >>
> >>  >>      - Howard
> >>  >>
> >>  >> -----Original Message-----
> >>  >> From: ajug-members-bounces at ajug.org
> >>  >> [mailto:ajug-members-bounces at ajug.org] On Behalf Of
> >> James Mitchell
> >>  >> Sent: Thursday, August 10, 2006 4:29 PM
> >>  >> To: Users Group Atlanta Java
> >>  >> Subject: Re: [ajug-members] favorite IDE
> >>  >>
> >>  >> I was replying and realized this might make a good blog, so...
> >>  >>
> >>  >> http://jamesmitchell.us/space/start/2006-08-10/1#Eclipse_gripes
> >>  >>
> >>  >> --
> >>  >> James Mitchell
> >>  >> 678.910.8017
> >
> > --
> > Björn Gustafsson




More information about the ajug-members mailing list