Re: Maven Optimism

From: Pierce T. Wetter III (pierc..winforces.com)
Date: Thu Jul 10 2008 - 20:39:17 EDT

  • Next message: Henrique Prange: "Re: Maven Optimism"

    > I don't see what a dependency management mechanism gets me over
    > this. What work does it save me? How much does it cost in terms of
    > my time fiddling with it?

    Costs:

      In my experience so far, the cost is less then what you're doing now
    or at least the same. You're already doing a lot of fiddling with
    jars, classpaths, special frameworks, etc. Maven automates a huge
    chunk of this. The cool thing really is that when you tell maven your
    project needs such and such library, you're mostly done. You don't
    have to tell it again to java, again to Eclipse, again to the
    packaging tool, etc.

      What it saves you:

      1. For commonly used jars, like apache-commons-logging and such,
    maven automates grabbing the damn thing. Sure, each one is only 10 web
    page clicks, but 10 jars later...

      2. For a work group, using uncommon jars, you can setup a repository
    on any webserver so that everyone in your workgroup can find it.
    Henrique wants to do this for Wonder, so then all the myriad jars you
    need for Wonder will be in one spot. For a specific example, ERCaching
    in Wonder uses spy.jar which is particular to a particular to Dustin
    Sailings: http://bleu.west.spy.net/~dustin/projects/spyjar/. Note that
    Dustin has setup a maven repository.

       Now sure, you can do the same thing on a file server, or check them
    into svn, or whatever. But that's not automatic, and its not dynamic
    based on which frameworks out of Wonder you're using.

      3. Ok, so you know you need foo.jar, but what you didn't know is
    that it needs bar.jar. Maven can pull bar.jar in automatically.

      4. You can get control. Lets say Wonder has commons-
    logging-1.03.jar. Listed as a dependency. You can specify in a higher
    level pom that you want to use 1.1.1 instead.

      5. http://continuum.apache.org/ (though this works with Ant as
    well, but with maven, if you say, oh, I want the new version of X, the
    build will still work)

       Live Demo: http://vmbuild.apache.org/continuum/groupSummary.action

      6. For you, since you like to integrate everything, maven can pull
    everything you need, and only what you need into the build.

      Pierce



    This archive was generated by hypermail 2.0.0 : Thu Jul 10 2008 - 20:40:12 EDT