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