Maven 프레임워크에서 이해해야 하는 몇 가지 중요한 개념이 있습니다.
- 프로젝트 오브젝트 모델(POM)
- 각 Maven 프로젝트에서는 종속성, 프로젝트 구조 특성, 빌드 단계(Phase) 태스크 및 동작을
캡처하는 pom.xml 파일을 제공합니다. 대부분의 POM 특성에는
프로젝트 빌드 동작을 설명하는, 압축되었지만 강력한 메커니즘을 유도하는 기본값이 있습니다.
- 빌드 단계(Phase) 및 빌드 라이프사이클
- 빌드 라이프사이클은 여러 단계(Phase)로 구성됩니다. 단계(Phase) 명령이
제공되면 Maven은 정의된 단계(Phase)를 포함하여 해당 단계(Phase)까지 시퀀스에서 모든 단계(Phase)를
순서대로 실행합니다. pom.xml 파일을 정의한 후
Maven 도구는 특정 빌드 단계(Phase)의 우선순위를 지정하고
유효성 검증, 코드 생성, 자원 어셈블리, 컴파일의 단계(Phase)에 대응합니다.
빌드
라이프사이클은 다음 단계(Phase)로 구성됩니다.
- 유효성 검증
- 컴파일
- 테스트
- 패키지
- 통합-테스트
- 확인
- 설치
- 배치
빌드 라이프사이클에 대한 자세한 정보는
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html에서 확인할 수 있음
- 목표
- 목표는 빌드 단계(Phase)보다 더 세분화되었으며
프로젝트의 빌드 및 관리에 기여하는 특정 태스크를 나타냅니다.
- 패키징
- 패키징을 설정하면 기본 목표 세트를 지정합니다. 올바른 패키징 값의 예로는,
jar, war, ear, pom이 있습니다.
- Maven 플러그인
- 플러그인은 특정 패키징 체계 또는 프로세스에 연결된 목표 세트를 설명합니다.
- Mojo
- 플러그인 내부에서 구현되는 특정 태스크입니다. 예를 들어
선호하는 런타임 환경에 배치하는
Java™
클래스 구현이 이에 해당됩니다.
- 원형
- 원형은 새 프로젝트를 설정하는 프로젝트 템플리트로 사용됩니다.
이러한 템플리트를 사용하면 표준 라이브러리에 대한 미리 정의된 종속성,
플러그인 설정, 패키징 목표를 정의하여
조직에서 표준을 쉽게 활성화할 수 있습니다.
- Maven 저장소
- 저장소는 빌드 아티팩트와 다양한 유형의 종속성을 저장하는 데
사용됩니다. 예를 들어 원형, 플러그인, JAR 파일 등이 포함됩니다.
로컬 저장소는 필요한 경우 빌드 목적으로 원격 저장소에서
천천히 채워집니다.