Lifecycles Reference

Maven defines 3 lifecycles in org.apache.maven.lifecycle.providers package:

default Lifecycle

default lifecycle is defined only with phases, without any associated plugin binding: plugins bindings for this lifecycle are defined separately for each packaging:

  1. return List.of(phase(
  2. ALL,
  3. phase(VALIDATE, phase(INITIALIZE)),
  4. phase(
  5. BUILD,
  6. after(VALIDATE),
  7. phase(SOURCES),
  8. phase(RESOURCES),
  9. phase(COMPILE, after(SOURCES), dependencies(COMPILE, READY)),
  10. phase(READY, after(COMPILE), after(RESOURCES)),
  11. phase(PACKAGE, after(READY), dependencies("runtime", PACKAGE))),
  12. phase(
  13. VERIFY,
  14. after(VALIDATE),
  15. phase(
  16. UNIT_TEST,
  17. phase(TEST_SOURCES),
  18. phase(TEST_RESOURCES),
  19. phase(
  20. TEST_COMPILE,
  21. after(TEST_SOURCES),
  22. after(READY),
  23. dependencies("test-only", READY)),
  24. phase(
  25. TEST,
  26. after(TEST_COMPILE),
  27. after(TEST_RESOURCES),
  28. dependencies("test", READY))),
  29. phase(INTEGRATION_TEST)),
  30. phase(INSTALL, after(PACKAGE)),
  31. phase(DEPLOY, after(PACKAGE))));

clean Lifecycle

clean lifecycle phases are defined with their plugins bindings:

  1. return List.of(phase(
  2. Phase.CLEAN,
  3. plugin(
  4. MAVEN_PLUGINS + "maven-clean-plugin:" + MAVEN_CLEAN_PLUGIN_VERSION + ":clean",
  5. Phase.CLEAN)));

site Lifecycle

site lifecycle phases are defined with their plugins bindings:

  1. return List.of(
  2. phase(PHASE_SITE, plugin(MAVEN_SITE_PLUGIN + "site", PHASE_SITE)),
  3. phase(
  4. PHASE_SITE_DEPLOY,
  5. after(PHASE_SITE),
  6. plugin(MAVEN_SITE_PLUGIN + "deploy", PHASE_SITE_DEPLOY)));