Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry.
None of the books/documents I've read until now explains Maven like this book. The style and the approach of showing through examples are great. But the example codes are full of errors. It shadows the quality of the maerial.
This is a Maven book right? Not a java book. So if you want to learn the details of Maven in an iterative approach you'd follow the examples. It's best when you don't use an IDE as all IDEs to some degree hide Maven details and you cannot get the essence of it without writing mvn at the command line. The problem is the sample code are full of stupid errors. As if they were not even compiled. Such as passing String to a method expecting and integer, wrong package names. Things that really should have not been in the book.
Therefore I rate this 5 star book as 3 because of the loss of time it caused to me fixing and submitting errata.
I love the book, and I'm not easy to please. I'm a very experienced developer (25+ years) and have worked with Java and XML since 1996. I'd been skeptical about Maven based on earlier versions and bad press, but felt it was time to take a look at Maven 2 and try it out for a client that needed consistent organization of their projects. This book turned out to be ideal in that it is clear, detailed, and unusually well-written. It's filled with realistic Java examples and just enough pom.xml files to learn from without having to leave the page. It pulls off that rare trick of introducing, demonstrating usage, and providing a really knowledgeable voice for in-depth topics.
The first few chapters quickly got me to the point where I was comfortable using Maven on straightforward projects, and the later chapters provide reference-quality info on subjects like running a Repository Manager, Writing Plugins, and details on various settings -- I'll turn to these as I need them, but I trust that they will be valuable if I do.
So I recommend this highly for anyone who wants to know more or needs to implement Maven. There's a desperate need for this because the online resources just weren't good enough to entice me in. But this did, and I'm glad. Tim O'Brien's honest voice and obvious experience are a terrific asset to Maven's broader adoption.
Previously the only reference book I could find on maven 2 was BetterBuildsWithMaven. Which was also a good book. However I think that this is a better introductory reference. I think that this book is indispensible for anyone using maven. This book is available online at the sonatype website as well. I like the discussion of the Repository Manager Nexus. We were previously using Archiva and Nexus has worked better. The book does a good job of walking you through simple to complex projects to understand the how to setup projects well in Maven, and learn simple to advanced maven concepts.
Was this review helpful to you?
The book is not well written. It is not interesting or easy to glean information. It doesn't distinguish fundamental info from extraneous stuff you may never need. I was constantly having to reread paragraphs that you can only interpret if you already know the material. The index is not very helpful in locating the information you need when starting out.
You really need to read the entire book before even starting your first small Maven project. I read books thoroughly, if not directly from first to last chapter, but in this case I needed to get up to speed on Maven quickly. This book was terrible for learning on an as-needed basis. Part of this is the nature of Maven. Even relatively simple real world webapp, swing, client-server projects will require multi-modules, an assembly (for custom deployable end product), and properties, and profiles, but even something as simple and basic as naming your output artifact jar or war to fit your current project expectations is scattered throughout later chapters. Most of the stuff I needed (and found via google and Maven documentation) I later found in this book somewhere by the time I finished it.
The information on using plugins is particularly weak. You can get by using almost all built in plugins, but this is a significant part of the power of Maven and many Maven users will use plugins for almost everything.
The Nexus repository chapter is good and has all you need. You will have to wade through it to get the little bits you really need for your project pom to pull dependencies, deploy snapshots and production artifacts to Nexus, and manually add 3rd party jars to your Nexus.
I'd like to give less than three stars but the book is pretty complete, the sample code is good, it is up-to-date for 2.Read more ›
When I saw the less than 5 star rating I really wanted to add my input. I particularly appreciated the content starting in chapters 6 and 7, about having a hierarchy of related projects, mixing packaging types of pom, jar and war files, reviewing the components of web apps and how they're packaged into Maven, etc.
Our team has been working with Maven for 6 months now and I had previously read quite a bit online, plus purchased a couple other Maven books. For where I'm at in my learning curve, this book fits what I needed. I think somebody new to Maven could still follow it; it's not quite a "recipe" oriented as some books, but really clear writing and explicit steps.
The book is now a few years old, but these tools and concepts are still relevant today (Q4 2012). If they do an update, I'd suggest a bit more in Chapter 6 about their web.xml file (reason for multiple targets, review the file-class-url mappings, etc.), though none of those issues prevent the chapter from being useful, and is really more of a review for folks who haven't put together a lot of webapps using any framework.