Apache Maven 3 Cookbook
First a big thanks to Packt Publishing for having sent me this book to review! I did enjoy going through this book, while I did not learn a lot of new stuff (I am using Apache #Maven daily since 2006!), I found it to be concise and would recommend it anytime to any of my colleagues. But let’s go through my review of this cookbook of over 50 recipes towards optimal #Java Software Engineering with #Maven 3:
Apache #Maven 3 Cookbook is a clear, precise, well-written book that gives readers clear recipes for the release process using Apache #Maven 3. The authors give a step-by-step account of expectations and hurdles for software development.
The first few chapters quickly bring you to the point to be comfortable using #Maven on straightforward projects, and the later chapters provide even more recipes examples on subjects like running a Repository Manager, Writing Plugins, and details on various techniques. The book also covers numerous real world software delivery issues such as multi-module projects, web/enterprise projects, dependency management, automatic testing and documentation.
To sum up key points from this 224 pages book in a few bullets:
- Chapter 1: Basics of Apache #Maven: Setting up Apache #Maven on Windows/Linux/Mac, Creating a new project, Understanding the Project Object Model, build lifecycle and build profiles,
- Chapter 2: Software Engineering Techniques: Build automation, modularization, Dependency management, Source code quality check, Test Driven Development (TDD), Acceptance testing automation and Deployment automation,
- Chapter 3: Agile Team Collaboration: Creating centralized remote repositories, Performing continuous integration with Hudson, Integrating source code management, Team integration with Apache #Maven, Implementing environment integration, Distributed development and Working in offline mode,
- Chapter 4: Reporting and Documentation: javadocs, unit tests, coverage reports and #Maven dashboard setup,
- Chapter 5: #Java Development with #Maven: #Java web application, J2EE, Spring, Hibernate and JBoss SEAM development,
- Chapter 6: Google Development with #Maven: Android and GWT (Google Web Toolkit), Google App Engine deployment,
- Chapter 7: Scala, Groovy, and Adobe Flex
- Chapter 8: IDE Integration
- Chapter 9: Extending Apache #Maven: creating plugins using #Java, Apache ANT or Ruby,
The author Srirangan go into detail in describing each of these themes.
I recommend you this book if
- If you need to learn Apache #Maven quickly, you can go through the recipes and examples and come away with a good knowledge of #Maven.
- If you are currently implementing Apache #Maven for the first time in your development process and feel a bit lost by the lack of clear examples that just run.
- If you want to use proven solutions to real common engineering challenges: this book will save you a lot of time!
if you want to be able to deliver your software to any target environment, using continuous delivery processes, chances are high that Apache #Maven is the right tool for this job, and this book should be part of your technical library, beside also of course the free online book of Sonatype Maven: The Complete Reference