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. ...