Published: Feb 26 2012 / 08:26
Maven is far from perfect, but has been a fundamental stepping stone towards today's new wave of build tools.
What Maven really hit bullseye with is dependency management: *every* new build tool uses the same style and most of them (all the java ones) use the same files: the Maven repository is the de-facto standard way to distribute libraries.
Maven creator's biggest mistake was the choice of XML; it was however too early to fully understand the consequences of repeating the same error made in Ant, and XML was thought to be very pratical for tooling. What nobody could predict was that build files will be mostly written directly, not by tools; XML then becomes a problem, not an enabler.
XML is the only serious problem: after all, all the new tools (Gradle, Sbt, etc) basically take the same dependency model of Maven, simplify the plugin and conceptual models, and let you write the build specification file in a simpler (for humans to write) language.
Look also at this thread: http://zion-city.blogspot.com/2012/02/why-i-hate-maven.html
@Michele, I totally agree with you. XML configuration is cumbersome, hard to edit and manage. As one said, "Maven is a great idea with a poor implementation", I think XML is a big part of that poor side.
What I simply hate about maven is making basic things is so much harder to do than they could be. Also managing big and modular projects (especially if they are OSGi based and consist of ~200 subprojects!) is really a big pain.
@Luca, I had read your article and may be you're right about network load but I don't think that it's the main issue with Maven. I share this link after reading your article, cause I think this shows the big picture more clearly, but we share the same emotions against Maven :)
Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.