Book description
Enhance developer productivity and address exact enterprise build requirements by extending Maven
In Detail
Maven is the number one build tool used by developers for more than a decade. Maven stands out among other build tools due to its extremely extensible architecture, which is built on top of the concept "convention over configuration". This has made Maven the de-facto tool used to manage and build Java projects.
This book is a technical guide to the difficult and complex concepts in Maven and build automation. It starts with the core Maven concepts and its architecture, and then explains how to build extensions such as plugins, archetypes, and lifecycles in depth.
This book is a step-by-step guide that shows you how to use Apache Maven in an optimal way to address your enterprise build requirements.
What You Will Learn
- Apply Maven best practices in designing a build system to improve developer productivity
- Customize the build process to suit your enterprise needs by developing custom Maven plugins, lifecycles, and archetypes
- Implement and deploy a Maven repository manager to manage the build process in a better and smoother way
- Design the build in a way that prevents any maintenance nightmares with proper dependency management
- Optimize Maven configuration settings
- Create your own distribution archive using Maven assemblies
- Build custom Maven lifecycles and lifecycle extensions
Publisher resources
Table of contents
-
Mastering Apache Maven 3
- Table of Contents
- Mastering Apache Maven 3
- Credits
- About the Author
- Acknowledgments
- About the Reviewers
- www.PacktPub.com
- Preface
- 1. Apache Maven Quick Start
- 2. Demystifying Project Object Model
- 3. Maven Configuration
- 4. Build Lifecycles
- 5. Maven Plugins
- 6. Maven Assemblies
-
7. Maven Archetypes
- Archetype quickstart
- The batch mode
- Archetype catalogues
- The archetype plugin goals
- Maven plugins with the archetype plugin
- Java EE web applications with the archetype plugin
- Android mobile applications with the archetype plugin
- EJB archives with the archetype plugin
- JIRA plugins with the archetype plugin
- Spring MVC applications with the archetype plugin
- Building a custom archetype
- Summary
- 8. Maven Repository Management
-
9. Best Practices
- Dependency management
- Defining a parent module
- POM properties
- Avoiding repetitive groupId and version tags and inherit from the parent POM
- Following naming conventions
- Maven profiles
- Think twice before you write your own plugin
- The Maven release plugin
- The Maven enforcer plugin
- Avoid using un-versioned plugins
- Using exclusive and inclusive routes
- Avoid having both release and snapshot repositories in the same group repository
- Avoid having both proxy and hosted repositories in the same group repository
- Minimizing the number of repositories
- Using mirrorOf instead of changing repository URLs
- Descriptive parent POM files
- Documentation is your friend
- Avoid overriding the default directory structure
- Using SNAPSHOT versioning during development
- Get rid of unused dependencies
- Avoid keeping credentials in application POM files
- Avoid using deprecated references
- Avoid repetition – use archetypes
- Avoid using maven.test.skip
- Share resources – avoid duplicates
- Summary
- Index
Product information
- Title: Mastering Apache Maven 3
- Author(s):
- Release date: December 2014
- Publisher(s): Packt Publishing
- ISBN: 9781783983865
You might also like
book
Generative Deep Learning, 2nd Edition
Generative AI is the hottest topic in tech. This practical book teaches machine learning engineers and …
book
Building Microservices, 2nd Edition
As organizations shift from monolithic applications to smaller, self-contained microservices, distributed systems have become more fine-grained. …
book
Jenkins 2: Up and Running
Design, implement, and execute continuous delivery pipelines with a level of flexibility, control, and ease of …
book
Spring Boot: Up and Running
With over 75 million downloads per month, Spring Boot is the most widely used Java framework …