Build lifecycle of Maven Project - Maven Tutorial
Build lifecycle is a list of named phases that can be used to give order to goal execution. One of Maven’s standard lifecycles is the default lifecycle,
which includes the following phases, in this order:
1 validate 2 generate-sources 3 process-sources 4 generate-resources 5 process-resources 6 compile 7 process-test-sources 8 process-test-resources 9 test-compile10 test11 package12 install13 deploy
Goals provided by plugins can be associated with different phases of the lifecycle.
For example, by default, the goal “compiler:compile” is associated with the “compile” phase, while the goal “surefire:test” is associated with the “test” phase.
Consider the following command:
mvn test
When the preceding command is executed, Maven runs all goals associated with each of the phases up to and including the “test” phase.
In such a case, Maven runs the “resources:resources” goal associated with the “process-resources” phase, then “compiler:compile”, and so on until it finally runs the “surefire:test” goal.
Standard lifecycles enable users new to a project the ability to accurately build, test and install every Maven project by issuing the single command:
mvn install
By default, Maven packages the POM file in generated JAR and WAR files.
Maven also has standard phases for cleaning the project and for generating a project site. If cleaning were part of the default lifecycle, the project would be cleaned every time it was built. This is clearly undesirable, so cleaning has been given its own lifecycle.