Menu

Showing posts with label Maven Phases. Show all posts
Showing posts with label Maven Phases. Show all posts

Maven Build Lifecycle

There are three out-of-the-box/implicit build lifecycles that Apache Maven provides: clean, default and site. The clean lifecycle handles project cleaning, while the default(install) lifecycle handles your project deployment, and the site lifecycle handles the creation of your project's website. You can read more detail of these Lifecycle phases of Maven Site.

maven commands/phases

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: