Maven's Lifecycle
- validate: validate the project is correct and all necessary information is available.
 
- initialize: initialize build state, e.g. set properties or create directories.
 
- generate-sources: generate any source code for inclusion in compilation.
 
- process-sources: process the source code, for example to filter any values.
 
- generate-resources: generate resources for inclusion in the package.
 
- process-resources: copy and process the resources into the destination directory, ready for packaging.
 
- compile: compile the source code of the project.
 
- process-classes: post-process the generated files from compilation, for example to do bytecode enhancement on Java classes.
 
- generate-test-sources: generate any test source code for inclusion in compilation.
 
- process-test-sources: process the test source code, for example to filter any values.
 
- generate-test-resources: create resources for testing.
 
- process-test-resources: copy and process the resources into the test destination directory.
 
- test-compile: compile the test source code into the test destination directory
 
- process-test-classes: post-process the generated files from test compilation, for example to do bytecode enhancement on Java classes. For Maven 2.0.5 and above.
 
- test: run tests using a suitable unit testing framework. These tests should not require the code be packaged or deployed.
 
- prepare-package: perform any operations necessary to prepare a package before the actual packaging. This often results in an unpacked, processed version of the package. (Maven 2.1 and above)
 
- package: take the compiled code and package it in its distributable format, such as a JAR.
 
- pre-integration-test: perform actions required before integration tests are executed. This may involve things such as setting up the required environment.
 
- integration-test: process and deploy the package if necessary into an environment where integration tests can be run.
 
- post-integration-test: perform actions required after integration tests have been executed. This may including cleaning up the environment.
 
- 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.
 
(Source: Apache Maven Lifecycle Reference.)