Discover the real power of Maven 3 to manage your Java projects more effectively than everAbout This BookAdminister complex projects customizing the Maven framework and improving the software lifecycle of your organization with “Maven friend technologies”Automate your delivery process and make it fast and easyAn easy-to-follow tutorial on Maven customization and integration with a real project and practical examplesWho This Book Is ForThis book is for developers and delivery managers who have some experience with Maven and Java, but want to extend their knowledge to automate the building process, thereby reducing human errors.
What You Will LearnDiscover the power of Maven with a real project and practical examplesDevelop a simple plugin to interact with databases and change the status of your bug trackerGet to grips with Maven dependenciesDevelop and test your own custom pluginCustomize your package with the Maven profileUse the most powerful plugins to release and test your softwareInstall Maven, Nexus, and Hudson to manage your code efficientlyBuild your first application with Maven, Gradle, and AndroidIn DetailMaven is one of the most popular tools used to control the dependencies and to administer a Java project. Maven can be used by newbies without the need to learn complex mechanisms, but it is also a powerful tool for big projects developed by different teams and organized over different modules and repositories.
This book will provide you with all the information you need, right from managing dependencies to improving the build process of your organization. Starting with a simple project, you will create your development environment step-by-step, automatically build your code from resources (XML, DB), and package your JAR, WAR, and EAR files for different environments. Furthermore, you will learn about the complex hereditary features of Maven.
Finally, this book will benefit you by teaching Maven-Gradle and Maven-Eclipse integration using the m2e plugin, managing the Maven repository from Gradle, and building a working Maven environment from Gradle
Reading the first lines of the book Maven Build Customization leaded me to think to it as a nice walk through volume about Maven and its basical usage.
In fact it starts explaining the basical concepts of the tool driving the reader inside the world of lifecycles, goals, dependency management using real use cases and showing how Maven can be applied to all the kind of projects, without looking specifically to frameworks, web-app vs plain java application or packaging formats.
Until chapter two the book uses an introductive approach facing concisely these basical features, without diving too deep into each concept, due to the fact that - you slowly gain consciousness of this - the book's target are not Maven novice developers, but for sure does a good work talking about some good practices to manage multimodular projects avoiding some typical errors in which the not so familiar readers may fall into.
Starting from chapter three finally we get into the interesting topics, and we get guided step-to-step into Maven plugin development, starting from a guide to build the first Mojo, with a really interesting section showing various approach to Mojo testing. It's always the right moment to checkout new ways to test your code!
Fairly exhaustively also is treated the section about profiles and their usages, starting from various examples to then deal closer with code management plugins useful to be used in most of your business situations. When you're facing the need of releasing your code on different environments this will really save your life!
If you're working on a team or generally you need to keep your repository updated and free of bugs thanks to testing you'll find chapter five's topics are something you can really sink your teeth into: Nexus, Jenkins/Hudson continuos integration, MantisBT, and Ant will be shown you as great open-source tools to manage your software life cycle on top of Maven and your favourite versioning tool (Hudson really has a lot of plugins).
Here the most advanced readers could have missed some words about a really useful software as SonarQube is to monitor your code quality, but keep in mind that devops world is another huge world and this book is a pragmatical guide to Maven usage and not a thousand-page volume neither a specific guide to all the software that can be used along with our beloved Maven.
Being an Android developer I really liked the last chapter showing how to build a project relying on Maven to manage dependencies and deployment, followed from the most needed explanation on how to use Maven in combination with the new (Android Studio stable is out right now, so we can now talk abaut standard) standard tool for Android lifecycle management: Gradle.
The book closes with some appendixes about Eclipse IDE connectors, global Maven configurations (using settings.xml) and a useful quick reference with the most frequent goals, archetypes and variables available from inside the pom.xml.
My own impression after reading Maven Build Customization is that this is the product of a real-life working team, that moved further from the simple quick-and-dirty development attitude someone could fall in when companies asks for high-rate task accomplishment in a short time.
Instead of chooosing the dark side of the developing way these guys have put on paper a good number of concepts, advices and best practices to drive a software to success.
Maven is nowadays a "must to know" tool. That do not imply it's easy or intuitive: You need a concise yet complete reference.
This book serve very well to this scope, it's easy to read but is able to give you a general understanding of the tool.
Chapters one and two describe Maven base concepts. Chapter three is an interlude devoted to Plugin writing. In fourth and fifth chapters the authors dig in more specific topics like profiles, assembly and site plugins as well as the very specialistic task of delivery. A Maven Android chapter close the book.
So, BUY (and read) the book, try the examples and you'll find yourself start a new "Maven project" for every little task you'll be up to.
So why just four stars ? I'm very hard to please and five stars is reserved for Weather Report's music.
I can't say that the book is perfect, but is the BEST book about Maven that I ever read! If you are a beginner in chapter 1st and 2nd you may read an introduction on Maven usage and concepts, but if you have some basic knowledge about Maven, the authors will drive you to discover and better use this tool. The best chapter is the third, you can learn how to create you own plugin for Maven, the examples are complete and detailed, I used it to patch an existing plugin and thanks to the book I managed the changes in few minutes! At the end you can find some "extra bonus" chapters about using Maven to manage Android projects and also the integration with Gradle, what to say more? If you use Maven YOU NEED TO HAVE THIS BOOK!
Although Gradle is the current celebrity when it comes to build systems, a lot of legacy applications are still using Maven as their build system. Handling advanced build configurations in Maven can be challenging. But using appropriate images and precise step-by-step instructions, this book makes the complex configurations very easy to understand and apply.
Along with all the nitty-gritty concepts of Maven, this book goes further with topics describing Continuous Integration with Maven, Eclipse with Maven, and my favorite - Maven Android. Thanks to the author and PacktPub for this wonderful piece of work.
I have read and studied this book because I use Maven as an everyday tool in my job. This is a very well written step by step guide, a complete and clear reference on Maven, and it can be very useful for a beginner and for those Maven users (like me), that need some help to clearify and organize their maven knowledge. I have bought the paper version, and I highly recommend it because in my opinion this is easier to use than the kindle version (but this is a really personal point of view), even if the book has a strange form factor.
This is a book that 6 or 7 years ago might have been interesting: the basics of Maven, plugin creation with an example with a bug track system, Android, Gradle.
However, like most tool books, they age quite poorly. Even the part of Maven concepts or concepts about creating plugins may be of interest, but many examples and sections rely on Ant, Eclipse, or SVN, very marginal systems or IDEs today.
The assessment is more recognizing something than it was than what it is today.