Monday
2) Maven Build Lifecycle과 Phase 본문
1. Maven Lifecycle 이란
- Maven에서는 clean, default, site의 세 가지 Lifecycle을 제공합니다.
- Maven은 모든 빌드 단위에 대한 Lifecycle이 예약되어 있어서 개발자가 임의로 변경 할 수 없습니다.
- 각 Lifecycle은 해당 지점까지 수행해야 하는 단계(phase)를 거쳐 수행 되게됩니다.. 예를 들어, compile을 수행할 때는 validate -> initialize -> ... -> compile 과 같이 단계를 통해 수행됩니다.
- Maven의 각 단계(phase)는 각각마다 플러그인(하나의 프로그램)을 통해 수행됩니다. 즉, 플러그인은 각 단계를 수행하는 프로그램이라고 이해하면 됩니다.
- 또한, 각 단계는 여러가지 목표(goal)들의 집합체입니다.
- 즉, Maven의 기본 Lifecycle을 이해하려면 Phase와 Goal의 개념을 이해해야 합니다.
< 출처 : wiki.gurubee.net/display/SWDEV/Maven+Lifecycle >
2. Maven Phase와 Goal
위에서 Phase는 라이프 사이클 내에서 반드시 수행해야하는 각 단계라고 했습니다. Phase는 논리적인 단계일 뿐, 실제로 작업을 처리하는 것은 각 단계에 장착되어 있는 플러그인(Plugin)의 목표(Goal)입니다. 그리고 플러그인에는 일련의 여러가지 명령어(목표, Goal)들로 구성되어 있고, 플러그인의 명령어를 교체하여 Maven 빌드 과정을 유연하게 변경할 수 있습니다.
즉 정리하면, 각 단계(=실질적으로 플러그인)는 일련의 목표들(goals)로 구성되어 있고, 각 목표(goal)는 특정 작업을 수행하는 역할을 합니다. 추가적으로 하나의 플러그인이 하나의 단계(Phase)를 담당하는 것이 아니라, 플러그인 내부의 각 목표(goal)들이 하나의 단계(phase)를 담당합니다.
'Maven' 카테고리의 다른 글
1) Maven이란? (0) | 2021.04.26 |
---|---|
Maven Archetype으로 실행가능한 간단한 Jar 만들기 (0) | 2021.01.31 |
Maven 설치 및 환경 변수 설정 (0) | 2021.01.30 |
Comments