Maven refresher course

Since maven seems to have magically hit that 1.0 milestone, it’s time for a brief refresher on why maven is a horrific abomination and anyone using it is in serious need of an ‘undo lobotomy’ operation.

One of the funniest things about the release announcement is the ‘new features’ section. Maveners seem unique in their ability to flout all release conventions and naming schemes, choosing instead to pile on feature after feature through every release candidate. If that weren’t enough, you can always find some hapless turd who forlornly states that his project works with a particular release candidate, but not the following one.

For a project of this size and horrific complexity (anyone using the words elegant, small, tidy, efficient, or robust in the maven team is told to wash his mouth out with soap and to bend over and receive some sort of ‘holy instrument’ for their transgression), the drive to a release must be all about stability and compatibility. You simply cannot just ask your users to open wide while you stick it to them.

Of course, this doesn’t affect maven so much as its users are those spastic children you made fun of in school. They laugh because you’re laughing, merrily oblivious to the fact that they’re the butt of the joke. All maven developers have to do is look excited and suggest that the hapless users bend over because they’re about to have it stuck to them, and the whole crowd will race to see who can bend furthest, and open widest.

The widespread use of jelly is also hilarious, given that its own author has apologised for his gross behaviour in inflicting such a monstrosity on a largely unsuspecting world. What’s funny about this is how disgruntled the maveners are by his proclamation. More than one has expressed anger and frustration at James’ proclamation and said that it shouldn’t have been said, and that jelly (this is stated a lot more feebly) is still great.

That illustrates another shortcoming of the maven freaks: consistent and systematic evasion of the truth in all its forms. Never go back and redo things, always march forward no matter how many times you realise that the road ahead of you is the worst of all worlds.

To be fair, maven developers are pretty much fucked. They’ve lost all respect from the community at large for their obscene behaviour, yet cannot safely extricate themselves because they have legions of spastic drooling fuckwits that will start flailing about angrily if their shiny object were to be tossed aside. Maven, for better or worse, has a community. That it’s a community of dullards and inbreds is irrelevant, it’s still a community that squeals and twitches and clamours for attention.

Nobody will fault you maven guys for sticking to your poison. I can only hope that amongst you there is at least one person with enough sense, decency, and care for mankind to simply walk away and apologise.

For the rest of the world, maven serves as a valuable lesson. It is a worthy experiment illustrating every single thing one should not do when architecting, designing, developing, writing code, running an open source project, or interacting with fellow man.

35 Responses to “Maven refresher course”

  1. useless Says:

    Amazing how useless this rant is.
    It word be more useful if you the word ‘useless’ a thousand times.

  2. Anonymous Says:

    He has a habit of not really saying anything, let alone anything constructive. Clearly he hasn’t use Mavin for anything except having a spasm because he didn’t understand it.

    However, I do read his blog, because sometime i can laugh with him, and sometimes I can laugh at him.

  3. Tom Copeland Says:

    Let me just say this about that:

    500 Internal Server Error
    Caught an Ognl exception while getting property blogEntries

  4. stabbing cadaver Says:

    Oh hani, you worthless fuckwit. We are laughing at you. But maybe that is what you want. Having never used Maven, this “refresher” course did nothing to illuminate why it is a “horrific abomination.”

  5. lalaland-inhabitant Says:

    The guys’s right, it really is a piece of dung poo, looking at geronmios addoption of it, i can say that gernomio is also poo

  6. Joseph Ottinger Says:

    Mave’s a lot of work done to save people from doing work they really should do on their own, if they actually think it needs doing. It’s a 747′s cockpit retrofitted on a bicycle – most projects don’t need 99% of what it has to offer, and if they needed something, they’d just do it themselves, much faster than it would take for Maven to do it.

    Unless, of course, they’ve already drunk the koolaid and can’t go back.

  7. Kristopher Schmidt Says:

    Once properly configured, maven will write your application source code for you. Just embed in a proper jelly script some tags similar to:

    Kristopher Schmidt Says:

    Aagh jroller deleted my xml tags!

  8. matth Says:

    This post is the equivalent of the frantic arm-waving that this guy always complains about.

    I’ve used Maven for many projects, and I’ve rarely had a problem. I still use Ant here and there also. Both have their places. Both have their problems and limitations — but what tool doesn’t?

    Sure, Maven may be overkill for some projects. But things like EJB, Hibernate, Struts, and Webwork may be overkill for some projects also.

    So — what’s your point? Face it, you’ve got nothing legitimate to say.

  9. Tdak Says:

    Hani is right, maven is not that good for working with smaller project,when an ant script will suffice. Bigger project can gain some adavantage when using maven, however a well designed ant script will do the same thing, and probably be a lot sipmler to work with. In my opinion, the developers of maven need to rework the whole design idea behind maven, and remove the name project management from the description, since it confused people, since project management tools usually mean apps like Microsoft Project, and the like. It could be called a build management system. Sort of like cruise control, but with some features from maven. Now that’s an idea.

  10. Geoff Says:

    I get the feeling there was a few Maven fanatics just waiting for this blog to appear ;-)

  11. Anonymous Says:

    Hani’s absolutely right about how clueless the Maven clan is with regard to release candidates. Things working in RC1 were broken in RC2 but that didn’t matter because RC2 gave you at least a dozen new features that you’ll never use. No wonder it took them so long to reach 1.0.

    It is surprisingly easy to use though. With a simple project.xml file you can create an entire website with ‘maven site’. Nevermind that what it creates is complicated and difficult to navigate, at least you have a site without having to write it.

  12. Fre dGrott Says:

    i agreew ith Hanni, Mavne sux.

  13. Anonymous Says:

    So other than bad architecture what’s wrong with Maven?

    From a managers point of view projects managed by Maven will always have the same structure, the same definition (POM) which allows for continuity between projects.

    Ever try to figure out what some asshats are trying to do with their ant build files in some of the shiet projects out there?

    The technology may be shiet but I find nothing wrong with some of the principles.

  14. jkw Says:

    The only reason Maven exists is to fill the void left by Microsoft’s shitty OS, and it does a poor job of that. To see Maven’s naivety, compare their “dependency” stuff to BSD ports or Gentoo’s portage. Not surprisingly, Maven developers have stated they aren’t interested in learning from or becoming compatible with these more mature build systems.

  15. Michael Dowling Says:

    What’s your beef with Maven? Specific examples, please. Personally, I havn’t used it yet, but this is the first gripe I’ve heard so far.

  16. Tdak Says:

    Brief overview of why Hani is so upset with maven. Read this, maybe it will give some people an idea of why Hani is so upset with this particular project.

  17. Davide Inglima - limaCAT Says:

    Jkw: well, interacting with gentoo or portage is not a “feature”, they are unix-specific stuff, not java-specific… it’s like using gnumakefiles for compiling java applications rather than Ant.

    But if you are correct about “they are not interested in learning from the older systems” then Maven people are totally crazy.

  18. hmm Says:

    I actually just had a quick look at Jelly.

    Wtf?

    Annother example of man choosing to do something not because they should, but because they could.

    Executable XML?

    What’s next, executable CSV files?

  19. holy one Says:

    The idea of project management(or project build tool, which is maven supposed to be called. But does it matter how somebody calls a shit?) tool is not bad.

    But use of jelly, which uses xml as a scripting language, why oh why people can’t stick with some basic principles?

    Jelly sucks BIG TIME. And it drags maven to gutter.

    XML itself does not have any processing power like C or java do. So, using this jelly crap as data some other language has to process it.

    And why on earth, u can use that language in the firs place? Why abuse XML which itself is innocent?

    Jelly is as ugly as pot Belly!!!

  20. sam Says:

    Sorry to go off topic but Id like to add
    a small protest at your use of the word
    “spastic”. I love a good rant against
    software, and I think you are probably
    right about maven and jelly, but Im afraid
    I found your language offensive.

    Sorry if Im being a prig but if you can rant about
    a piece of dodgy software that will be
    gone in a year or two I can about inaccurate
    and offensive language that hurts many people ;)

    Regards

    Sam

  21. Anonymous Says:

    I’m surprised you didn’t mention the rediculous ASCII art that Maven vomits out every time you run it. Sure, you can turn it off with a command line flag but are there still people who think this kind of thing is cool? You don’t see ‘tail’ spewing out messages like, “Hi, I’m tail. Before you can see the end of this file, I’d like to show you some obnoxious ASCII art. Here you go!”.

    Maven should just do its job and keep its mouth shut.

  22. Slava Imeshev Says:

    Hani,

    It’s unbelievable that you manage to fool innocent blogsurfers for so long. Keep going :)

  23. Bill Barnhill Says:

    It’s kind of funny. Maven IS a love it or hate it tool. I specialize in joining failing projects and turning them around, and Maven is one of my key tools.

    I’ve often found the people who rail against XML are the ones who do not really know the various XML technologies out there.

    Several people argue against an XML programming language. Granted that it, like ALL things, is not a one size fits all solution.

    However, I’ve found the following very useful:

    • Storing of XML based Jelly scripts in Oracle 9 R2, or some XML enabled database, and then searching/executing whole scripts or fragments thereof from the db using XQuery
    • Using XSL to transform a Jelly Script for several uses
    • The use of pre-canned XML compression, encryption, and XML signature libraries to implement mobile code with Jelly scripts.

    For everyone? No, definitely not. For me, and those engineers I have trained, Maven and Jelly are definitely one of the essential items in our everyday toolbox.

  24. Maven Developer Says:

    Hani, you crack me up.

    You say nothing so elegantly.

  25. Lorenzo Gatti Says:

    My main problem with Maven is nontechnical.
    I see many generated project sites or “documentation”, e.g. AndroMDA 3, with section after section of empty pages and outdated information, requiring an unpredictble amount of browsing to find something useful. Many parts of a Maven site are usually abandoned excess baggage.
    It’s sad that, for the same documentation effort, these projects could have a sensibly designed site, easily managed by hand or by a CMS: Maven decreases quality and increases complexity.
    Maven imposes its usually conflicting and suboptimal structure and requirements on projects; when they are a mess (Bill Barnhill) a strong and powerful foundation can be useful, but usually projects have special needs and programmer have their preferred way of working.

  26. Kevin Ross Says:

    Ridiculous. I use maven for large and small projects. I use maven becuase I don’t need to write yet another ant script to build a damn jar,war,ear, distro, etc.

    It sounds like you are just trying to spread the FUD because you yourself are too dimwitted to understand to power of it all.

    Enjoy reinventing the wheel, moron.

  27. Henri Yandell Says:

    I love the Jelly complaints. ‘executable XML’, oh no, what a shock, stop the press.
    What exactly do you call Ant?

    Must admit that I do wish Maven had continued using Ant as they started to, but I understand it had limitations at the time.

    The RC releases have been painful. In fact, every release from b4 onwards has caused pain it seems.

    Still, Maven makes dependency and build management a lot easier in my place of work, and after suitable Hani-proofing, the osjava.org websites a lot happier.

  28. Greg Says:

    Maven has been a great help for me working on a large enterprise project. No more scattered jars all over the place, no more endless ant scripts. It offers convenient build of multiple projects, convenient packaging, etc. Of course, Maven could be challenging to understand at first, and Jelly could be cryptic as any scripting language would, but please, if you do not get it, don’t trash it, it is ridiculous.

  29. Anonymous Says:

    Scattered jars all over the place? What about in a lib directory checked in with the rest of your code; then you don’t have to customize ant builds for each developer’s jar locations. And don’t complain about cvs not handling jars well. Subversion fixed that problem quite some time ago.

    There may be reasons to use Maven but scattered jars isn’t one of them.

  30. Anonymous Says:

    I call Ant a useless piece of crap.

    And a scripting language should not be cryptic. The whole point of a language is to be easy for HUMANS to parse, not the machine.

  31. Anonymous Says:

    Hani

    I think you’re beginning to be found out. I don’t use Maven so I’m not a supporter. Heck I don’t even use Java that much. But saying xyz is shit without saying exactly is wrong with it is starting to become embarrassing. If you do want to slate something at least provide some reasons as to why you have come to that conclusion. And as others have said – You say nothing so elegantly. I had been thinking you had insight into technology but now you’re starting to come of as nothing more than an attention seeker

  32. Scott Says:

    Click link above () for why Howard Lewis Ship quit using Maven.

  33. Milind Parikh Says:

    I have just started out on the first version of the book on Maven. It is entitled Maven: More than Magic.

    I find Maven to be enormously useful as a tool. Most people construe Maven to be a build tool. I do not. I think that it is something more than that. Please go to my website to get a peek of why. So much functionality for so little work.I am sorry.. I AM LAZY.

    Having said that, I think that it is hard to write a book on Maven. Here are some of the reasons why. Jelly, on which Maven is based, is incredibly complex (for the lack of a more appropriate word) to learn, About six chapters are devoted to learning Jelly. But the RC1 of Jelly won’t even jar! So I have to go through some numbing exercises in order to get it to jar. Then it won’t dist. And so…..So I spend a lot of time on The Jelly Programming Language (and trust me it is nothing similar to that classic book on C).

    Secondly, I spend all this time and effort on Jelly because of Maven 1.0. I do this knowing that Jelly will be completely obsolete by Maven 2.0. I am not really sure of what it is going to be replaced by; but it is going to get replaced. Yikes !

  34. denil Says:

    ,hjk yuiy yuiy7ui gjt tyut7

Leave a Reply