[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