RSS Feed

New Adventures in Software


On Maven

Posted in Java by Dan on December 20th, 2007

If I ever wanted to write down the issues I have with Maven, I couldn’t do a better job than Charles Miller’s post. Maven solves problems that I didn’t have by introducing me to a whole set of new problems that I also didn’t have.

Ant is certainly not perfect (though you can learn to use it effectively) and I remain convinced that a better solution to Java build problems can be found. However, if Maven is the answer, then we are asking the wrong question.

3 Responses to 'On Maven'

Subscribe to comments with RSS


  1. on February 3rd, 2008 at 3:58 pm

    [...] on the Tapestry project (InfoQ has a summary of the recent discussions). I’ve touched on this previously with a brief echoing of Charles Miller’s [...]

  2. Tim O'Brien said,

    on May 11th, 2008 at 9:43 pm

    I like this post, it is both non-specific and vauge. Tell me exactly, what problems Maven introduces that you didn’t have before, and then enumerate the problems. Don’t just allude to some general sense of ennui and say something like, “If Maven is the answer, we are asking the wrong questions.”

    Are the hundreds of open source projects using Maven just “asking the wrong questions”? How about the people that came up to me at JavaOne to tell me that they were very interested in expanding Maven adoption in the organization.

    Charles Miller’s post is classic in its display of sheer ignorance. If new hires have a problem “downloading the entire internet”, you think these brain surgeons would have installed a caching proxy by now. It isn’t like there aren’t about four good options available. Add to that the fact that he says something about artifacts disappearing from the public repository… (Ok, which ones? Tell me because the repository maintainers are absolutist in the belief that, once published, it never changes.)

    The only valid point Charles has in his post is the idea that plugin version should be stable. He could’ve achieved this if he had been explicit about plugin versions in the first place, but we can’t expect everyone to actually read about best practices and participate in the community. Now this issue is fixed in the 2.0.9 release of Maven, but I fully expect people to continue to bring it up as some sort of valid complaint.

    What Charles Miller really meant to say was, “I’m using Maven wrong, and it is making me very angry.” But, instead he wrote a blog piece full of pretty sounding crap that triggered someone like you to write something serious sounding like “If Maven is the answer, we’re asking the wrong questions” Very deep. Very, very deep.

  3. Dan said,

    on May 11th, 2008 at 10:46 pm

    Tim, I elaborated on what I don’t like about Maven’s approach to dependencies in a later post. I also conceded that there was at least one scenario in which it seemed to make some sense:

    http://blog.uncommons.org/2008/02/03/maven-revisited-fallacies-and-usefulness/

    One other complaint about Maven (and/or its necessary plug-ins) that I have is that it has been, in my experience at least, a lot more buggy than Ant.

    You could install a proxy, or you could just put the damn JARs in the Subversion repository and avoid the hassle. The ability for Maven to pick up dependencies from a local directory is one of the things that Don Brown mentioned adding in his Maven improvements (linked from my second post).

    P.S. I’m glad you liked the Star Trek-esque faux philosophical “deepness” ;)