Building a custom lifecycle

A lifecycle defines a process. It defines an ordered set of phases that get executed one after the other. The Maven default lifecycle is sufficient to address most of the use cases in build management and automation. However, we might need to alter the behavior of certain phases. Defining a phase and altering a phase are two different things and they are done in two different ways. Accepting the default lifecycle but altering its default behavior has to be done with a proper plugin binding.

Lifecycle phases are dumb entities; they inherit the behavior from the associated plugins. The jar goal of maven-jar-plugin is associated with the package phase of the default lifecycle, for any artifact having the jar packaging. ...

Get Mastering Apache Maven 3 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.