Maven - Phase (Build lifecycle)

Card Puncher Data Processing

About

A phase is a step in the build lifecycle, which is an ordered sequence of phases.

When a phase is given, Maven will execute every phase in the sequence up to and including the one defined.

Phases are actually mapped to underlying goals.

The specific goals executed per phase is dependant upon the packaging type of the project. For example, package executes jar:jar if the project type is a JAR, and war:war is the project type is a WAR.

Example

If we execute the compile phase,

mvn compile

the phases that actually get executed are:

Most common phases

Default Life cycle:

  • validate: validate the project is correct and all necessary information is available
  • compile: compile the source code of the project
  • test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
  • package: take the compiled code and package it in its distributable format, such as a JAR.
  • integration-test: process and deploy the package if necessary into an environment where integration tests can be run
  • verify: run any checks to verify the package is valid and meets quality criteria
  • install: install the package into the local repository, for use as a dependency in other projects locally
  • deploy: done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.

Others:

  • clean: cleans up artifacts created by prior builds
  • site: generates site documentation for this project based upon information on the project's pom. You can look at the documentation generated under target/site.
  • process-resources: the resources are copied and filtered

Management

Execute

mvn phase

List

https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference

Documentation / Reference





Discover More
Card Puncher Data Processing
Maven

is a build tool. It is declarative build tool whereas ant is a procedural build tool. You can then change the build process by changing the process not the declaration. Most of the project declaration...
Card Puncher Data Processing
Maven - (Deploy|Distribution) Phase

This deploy phase copies: a (final) package a web site or the Javadoc documentation to a remote repository for sharing with other developers and projects. In most project builds, the deploy phase...
Card Puncher Data Processing
Maven - Compile Phase

Compile is a phase that compile the application sources
Card Puncher Data Processing
Maven - Eclipse

Eclipse can refer to the: maven plugin in or the eclipse plugin Eclipse is a phase in order to generate a project file Eclipse plugins for Maven...
Card Puncher Data Processing
Maven - Goal

A goal is the execution part of a plugin. An individual plugin may have multiple goals. Each goal may have a separate configuration. If you are familiar with Ant, a goal is similar to a task. A goal...
Card Puncher Data Processing
Maven - Install (Local Package Installation)

Install is a phase that install the generated artifact in the local repository. deploy Plugin that can be used in this phase. install...
Card Puncher Data Processing
Maven - Lifecycle

A Build Lifecycle is Made Up of Phases. To call all phase, you only need to call the last build phase to be executed, deploy: If you call a build phase, it will execute not only that build phase, but...
Card Puncher Data Processing
Maven - Package

Packaging in Maven. Package is a phase that bundle the code in a way suitable to be distributed. By default, this phase will take the compiled code and make an archive of it as define in the packaging...
Maven Execution Id
Maven - Plugin Execution

A plugin execution where: where: executionId see Default ??? default in the POM model default-cli from the command line default-goalName mojo bound to the build lifecycle...
Card Puncher Data Processing
Maven - Test

Test is a phase that: execute the tests. test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed The Maven lifecycle...



Share this page:
Follow us:
Task Runner