What this book covers
Chapter 1, Apache Maven Quick Start, focuses on giving an introduction to Apache Maven. If you are an advanced Maven user, you can simply jump to the next chapter. It will show how to install and configure Maven on different operating systems such as Linux, Mac, and Microsoft Windows and tips and tricks to use Maven.
Chapter 2, Demystifying Project Object Model, focuses on core concepts and best practices related to Project Object Model (POM) in building a large-scale multimodule Maven project.
Chapter 3, Maven Configuration, discusses how to customize the Maven configuration at three different levels: the global level, the user level, and the project level for optimal use.
Chapter 4, Build Lifecycles, discusses the Maven build lifecycles in detail. A Maven build lifecycle consists of a set of well-defined phases. Each phase groups a set of goals defined by Maven plugins and the lifecycle defines the order of execution of the phases.
Chapter 5, Maven Plugins, explains the usage of key Maven plugins and demonstrates how to build custom plugins. All the useful functionalities in the build process are developed as Maven plugins. One could also easily call Maven, a plugin execution framework.
Chapter 6, Maven Assemblies, explains how to build custom assemblies with the Maven assembly plugin. The Maven assembly plugin produces a custom archive, which adheres to a user-defined layout. This custom archive is also known as the Maven assembly. In other words, it's a distribution unit that is built according to a custom layout.
Chapter 7, Maven Archetypes, explains how to use existing archetypes and how to build custom Maven archetypes. Maven archetypes provide a way of reducing repetitive work in building Maven projects. There are thousands of archetypes out there that are available freely to assist you in building different types of projects.
Chapter 8, Maven Repository Management, discusses the pros and cons of using a Maven repository manager. This chapter further explains how to use Nexus as a repository manager and configure it as a hosted, proxied, and group repository.
Chapter 9, Best Practices, looks at and highlights some of the best practices to be followed in a large-scale development project with Maven. It is always recommended to follow best practices, as they will drastically improve developers' productivity and reduce maintenance nightmares.