Maven Lifecycle Phases: Phases are actually mapped to underlying goals. The specific goals executed per phase is dependent upon the packaging type of the project. So when we try to build and compile our code using mvn command then along with mvn we pass certain goal as well which actually perform the task which we want to perform.
e.g.
mvn validate
Maven validate goal is to validate the project structure and all necessary entries.
mvn compile
Maven compile is to compile the code.
mvn package
Maven package is to package the compile project into a deploy-able or attributable file JAR. We can also package the required dependencies using the package command.
mvn install
Maven install phases is to build and deploy the project in your local machine.
mvn deploy
maven deploy is to deploy the project on remote server and repository to share the project with other team and developer. generally we do when we wants to move final release deployment from lower environment to UAT/prod or transporting the release from one environment to another.
mvn test
Test the compiled project code with written unit test cases. This will not deploy or package your project.
mvn verify
Run this phase to verify that the created package is valid and met all the criteria.
mvn integration-test
process and deploy the package of the code in the environment where integration testing need to perform.
mvn clean
Remove the old package, artifacts and take a fresh build then create a new package of project code.
mvn site
Generate site documentation for the project. We can find the generated documents under target directory.
References: