A few months ago, I was approached by a representative from Packt Publishing to do a review of their book “Apache Maven 2 Effective Implementation”, presumably because of my frequent posts about Maven.
They gave me an electronic copy of the book to read, and asked for a 300 – 350 word review about the book. I’ve gotten it mostly to the point of ‘completion’, and any more changes would just fall under the category of ‘tinkering’.
Maven. I hate the word, as I hate hell, all Montagues, and MAKE. Maven is a powerful Open Source build system which is becoming a de facto standard in Java development circles. Like any powerful tool, Maven has its own proponents and detractors, benefits and drawbacks. For example, one of the consistent issues that plagues the Maven ecosystem is a dearth of quality documentation. When I heard about “Apache Maven 2 Effective Implementation”, I had hoped that it would be the One Book to rule them all, the One Book to find them, the One Book to bring them all and in the darkness bind them. Unfortunately, this is not that One Book. “Apache Maven 2 Effective Implementation” is yet another effort by a Maven contributor to provide some clarity to Maven’s user community about how exactly to use Maven correctly. But much like the rest of the Maven documentation ecosystem, this book provides the type of documentation that only its author could love. The author is obviously knowledgeable, however I can’t recommend this book as anything more than an incremental addition to the Maven user’s arsenal. Having been a Maven ‘believer’ since the late 1.x days, I would say that ALL the documentation I’ve seen on the subject has been no better than incremental. In most cases, like this one, the authors falls into a classical trap of technical documentation by explaining what to do, but rarely explaining why. (Nor, more importantly, explaining how to figure these things out for yourself). I did find a few helpful tidbits of new information in the book. However, I’m not sure I would have been able to quickly find them again in a reference situation because the logical flow was all over the place. Example: Chapter 4 had ten pages of fundamental reporting information, which is great information to have; but maybe Chapter 5, which was titled “Reporting and Checks”, is where that information rightly should have resided. Unlike some of the best technical books I’ve read, my ability to stay awake while reading this book was challenged because it is so very dry. I had no delusions of it being as compelling as the “Encyclopedia Galactica”, but the prose was completely wooden. This blandness and the previously mentioned problems render the book altogether forgettable.
If you haven’t noticed, I have ZERO advertising on my site. It only costs me a couple of bucks a year to keep this site going, and I didn’t want to spoil the relationship with my readers by trying to commodify their viewing. So, when I was approached to do the review, I was very specific that I would not pull any punches just because they gave me a free book. Packt also tried to sign me up with an affiliate link to the book, which you’ll notice is nowhere in this (or any) post.
As you can tell, I really didn’t use the kid gloves with this review. I’m not very happy with the general quality of Maven documentation (as I’ve noted before), and I wasn’t going to give this book high marks for being just as bad as the rest.
I did manage to sneak in (or are they clumsily manhandled?) 3 different literary fiction references, which I hope spices up the review and adds a bit of character. Let me know if you can name them.