본문 바로가기

Dev/Tool

[Maven] Goal, Phase, LifeCycle

[Maven] Goal, Phase, LifeCycle

Maven의 goal, phase, lifecycle 개념에 대해서 정리해보았습니다.

goal - Maven에서 행할 수 있는 기능들을 수행하는 명령

$ mvn [goal 명령어] [goal 명령어]

phase - 라이프사이클에 속해 있는 각각의 단계들을 phase라고 부릅니다.

특정 순서에 따라 goal이 실행되도록 하는 구조를 가지고 있습니다.

Phase는 의존 관계를 가지고 있어 해당 phase를 수행하기 위해서는 이전 phase가 수행된 다음 실행됩니다. ex) mvn install 실행 시 install 전까지의 단계들을 모두 수행한 다음 실행됨.

default lifecycle - compile, test, package, install, deploy

Maven에서 제공하는 모든 기능은 플러그인의 골을 기반으로 동작됩니다.

2) 각 phase는 0개 이상의 goal과 바인드 되어있으며,

해당 phase를 실행하면 연결된 플러그인의 goal이 실행되는 구조입니다.

3) 플러그인과 골의 관계 설명 -> 플러그인은 골의 집합

정리하자면 ->

메이븐에서 제공하는 기능을 담고있는 것은 goal

goal의 집합들을 plugin 이라고 하며,

plugingoal을 일련의 단계로 표시한 것은 phase

phase들의 집합으로 default, clean, site 등의 목적으로 분류한것은 lifecycle 입니다.
다음시간엔 lifecycle의 종류에 대해 알아보겠습니다.