Choosing between Maven, Gradle and Ant + Ivy: A Guide for Decision Makers


News: Choosing between Maven, Gradle and Ant + Ivy: A Guide for Decision Makers

  1. If you had to choose a new build tool for your next project—or for your existing infrastructure, how would you go about choosing one? There aren’t many options after all—Maven, Ant (+ Ivy) and Gradle take up the large majority of the Java build tool space.

    Java Build Tools: Part 2 - A Decision Maker’s Comparison of Maven, Gradle and Ant + Ivy is designed to help decision makers in Java organizations better understand each tool in the context of the other tool. We also ranked each tool on a 5-point scale across six feature categories and four different use cases (user profiles). 

    • Here is how we judged each tool based on feature categories:
    • How easy is the initial learning curve?
    • How fast are different builds with each tool?
    • How complex is it to create and maintain the build script?
    • How many plugins exist and how simple is it to customize your own plugins?
    • How good is the community and documentation for each tool?
    • How well does each tool integrate with developer tools? (IDE, App Server, CI servers)

    …and then compared those scores across four user profiles, subjecting each tool’s score to different weighted priorities (in order to find out which qualities were more, or less, important to each user type:

    • Hobby developer using GitHub as their repository
    • Open Source project developer based in Eclipse, contributed to by many worldwide
    • Medium-sized business, working in two countries. Traditional working, yah, we use waterfall.
    • Global, enterprise business. Almost a hundred thousand employees, split across almost as many countries!


    Find out who wins, and get the entire story here (in PDF and HTML):

  2. For my company I started an open source build system based on Ant with an extensible project model and plugin system, designed to be small, fast, easy to learn because used as a white box:

    I would be glad to revive the project to include Ivy dependency support and many other "modern" improvements: Groovy support, Scala support...


  3. Any build system that anyone from another planet could walk into and understand without any coaching: i.e. a standard. Ant is different every place and generally full of incomprehensible legacy targets.