Trifork Blog

Maven wastes more time than it saves. Cast your vote

July 31st, 2007 by

I just finished added a pole to this blog and the first question I would like to ask my audience (all 3 of you đŸ˜‰ ) is. Does maven waste more time than it saves compared to say an ant or make based build. In my experience this statement holds true however I am curious what other people found.

9 Responses

  1. July 31, 2007 at 21:52 by will

    if i had to implement all of the boiler plate stuff that maven _mostly_ handles for you in an ant script from scratch, maven probably saves me time. but i do understand where you’re coming from because there’s just some days that you just don’t know…. :p

  2. August 1, 2007 at 07:58 by Peter Veentjer

    As long as you obey Maven, everything is alright.. it is easy to do all kinds of stuff that would take some time to set up in Ant: unit testing, clover/cobertura, checkstyle.. etc etc..

    But as soon as you need something special, the biggest enemy in your system is Maven.

    Maven is something I can live without… I would not let a single tear for it if all sources and binaries were deleted.

  3. August 1, 2007 at 11:35 by Jacob von Eyben

    I am on the ‘no way’ side.

    IMO Maven saves you a huge amount of time when starting a project from scratch.
    I like mavens ‘convention above configuration’, where you all must say ant is in the configuration side.

    I believe many arguing against maven simply forgot the time spend finding the damn transitive dependency need by a thirdparty library.
    The dependency resolution alone is worth all the “money”.
    And as maven gets more mature many plugins are developed and free to use.

    True, I have also fought my battles inside a pom writing commands to a ant-run plugin, but in general I won’t let go of maven as long as no other alternative exist – and ant simply isn’t an alternative.

  4. August 1, 2007 at 15:13 by M Easter

    Maven 1.x had some great ideas (POM) but the execution was wretched: documentation, obscure Jelly errors, constant repo issues, etc, etc. I have not worked with V 2.

    Ant rocks and Gant seems very interesting as a “next generation”

  5. August 1, 2007 at 20:02 by Ignacio Coloma

    I don’t like the “magic under the hoods” feeling of maven. Since at my company (like 90% of the people out there) we just need a dependency handler we decided to give Ivy a try.

    It’s still quite soon for Ivy and certainly not easy to get up and running, but after some beating it does what is asked for, pulling its data from the maven repository.

  6. August 1, 2007 at 23:00 by Anonymous

    I never really got why people think they need a dependency manager. I’ve never had any issues with checking in my jars into cvs. Sure you can’t run a diff as easily as with a maven pom and checking out a project may take quite a bit of time but at least you dont have to maintain your own proximity instance if you want to use a jar thats not in any of the global repositories. Speaking of which the quality of the poms on ibiblio et al is quite frequently horrible Lots of libraries that are in the maven repository can be found at multiple locations. often its unclear which location you should use. More often than not they include optional depencies as required dependencies leading to an explosion of the war file size even for small projects
    Many poms on ibiblio or outright broken. The poms are corrupt or they do link to dependencies that are no where to be found.

    But hey whatever works for you. I would never willingly use maven’s transitive dependencies

  7. August 9, 2007 at 12:38 by Joost van de Wijgerd

    It is my experience that with large organisations where you need a lot of standardisation the maven2 repository is very valuable. Also, working with archetypes is a very powerful feature in maven2. This enables these organisations to standardise _and_ get up to speed quickly with new projects that adhere to the standards set forth by the organisation.

    Of course you need a seperate team to maintain this and support the projects but you would need this anyway if you want any standardization to happen within an organisation.

    I agree with Peter Veentjer that it can be sometimes difficult and _yes_ you still need to do a lot of custumization but the standard plugins definitily pay off if you are part of the team maintaining te development environment.

    so I would be in the proponent camp



  8. August 10, 2007 at 16:14 by site admin

    Its my impression that in practice many people dont start new projects all that often and when they do the archetype they have created usually is outdated by the time they find a need for it because libraries keep evolving, who would want to base their project on a spring 1.2 + hibernate 2 archetype

  9. September 13, 2007 at 13:31 by iwein

    Personally I like maven, but I guess you’re right in many cases, especially in development. The thing is however, that with maven you have strong conventions and once you go into maintenance those are the only thing keeping the project manageable.

    Granted, you can make a very nice and clean ant build, but in my experience developers don’t do that. Once the original developers get scared of the monster they have brought to life and run away the tangled mess that is left of the original build makes it nearly impossible to get up and running for a maintenance developer. This makes it very hard to make the minor changes that keep the application worth running.

    Of course you can make the same mess with maven, but I can always check out the project, run “mvn clean install” and if that doesn’t work blame the last committer. With ant you usually get discussions like:

    junior: “doesn’t work?”
    senior: “you should run ant veryspecial-target first, rtfm!”
    junior: “doesn’t work?”
    senior: “that’s because you haven’t got xalan-0.3alpha on your $SAA_CLSPTH, rtfm!”

    Anyway, for developers that are never guilty of the above maven does add a lot of weight. Maybe ant+ivy is a better alternative for those.

    For me maven beats antarchy any day.