Skip to content

Maven Build Lifecycles πŸ‘·πŸΌβ€β™‚οΈπŸ‘·πŸΌβ€β™€οΈ

Summary

  • 3 standard lifecycles in Maven (clean, default, site)
  • each lifecycle made up of phases
  • each phase may have 1 or more plugin goals

Lifecycles and phases provide a framework to call plugin goals in a sequence.

3 Predefined Life Cycles

Clean

  • removes build artefacts
  • defined with plugin bindings

Default

  • does the build and deployment of the project
  • defined without plugin bindings
  • bindings defined for each package

Site

  • creates web site for project
  • defined with plugins
  • least used in enterprise
  • Maven’s websites are an example

Clean Lifecycle

  • phase: pre-clean
  • phase: clean - plugin binding -> clean:clean goal
  • phase: post-clean

Default Lifecycle

High level phase -> phases

Validate -> initialise, generate sources, process sources, generate resources, process resources Compile -> process classes, generate test sources, process test sources, generate test resources, process test resources Test -> test compile, process test class Package -> prepare package Verify -> pre integration test, integration test, post integration test Install Deploy

Default Lifecycle JAR packaging

phase -> plugin

process-resources -> maven-resources-plugin:resources compile -> maven-compiler-plugin:compile process-test-resources -> maven-resources-plugin:testResources test-compile -> maven-compiler-plugin:testCompile test -> maven-surefire-plugin:test package -> maven-jar-plugin:jar install -> maven-install-plugin:install deploy -> maven-deploy-plugin:deploy

Site Build Lifecycle

  • phase:pre-site - no plugin
  • phase:site - maven-site-plugin:site
  • phase:post-site - no plugin
  • phase:site-deploy - maven-site-plugin:deploy