웹사이트 검색

Maven Build 수명 주기, 단계 및 목표


Maven 빌드 수명 주기란 무엇입니까?

Maven 프로젝트를 빌드하면 프로젝트 pom.xml 구성 및 명령줄 옵션을 기반으로 명확하게 정의된 일련의 작업을 실행합니다. 이 표준 작업 세트는 maven 빌드 라이프사이클을 생성합니다. 명확하게 정의된 라이프스타일의 이점은 프로젝트를 컴파일, 빌드, 설치 및 배포하기 위해 몇 가지 명령 세트만 기억하면 된다는 것입니다. 권장 자료: 20개 이상의 Maven 명령 및 옵션(치트 시트)

빌트인 빌드 라이프사이클

세 가지 기본 제공 빌드 수명 주기가 있습니다.

  1. 기본값: 프로젝트 빌드 및 배포 처리
  2. clean: 프로젝트 청소 처리
  3. 사이트: 프로젝트 사이트 문서 생성 처리

Maven 빌드 단계

Maven 빌드 수명 주기는 빌드 단계라고 하는 일련의 단계를 거칩니다. 예를 들어 기본 수명 주기는 다음 단계로 구성됩니다.

  • 확인
  • 컴파일
  • 테스트
  • 패키지
  • 확인
  • 설치
  • 배포

빌드 단계는 순차적으로 실행됩니다. maven 빌드 명령을 실행할 때 실행할 단계를 지정합니다. 지정된 단계 이전에 오는 모든 maven 빌드 단계도 실행됩니다. 예를 들어 mvn package를 실행하면 프로젝트의 유효성 검사, 컴파일, 테스트 및 패키지 단계가 실행됩니다.

Maven 빌드 목표

빌드 단계는 일련의 목표로 구성됩니다. Maven 목표는 프로젝트 빌드 및 관리에 기여하는 특정 작업을 나타냅니다. 때때로 maven 목표는 빌드 단계에 구속되지 않습니다. 명령줄을 통해 이러한 목표를 실행할 수 있습니다. 목표를 실행하는 구문은 다음과 같습니다.

$ mvn plugin-prefix:goal

$ mvn plugin-group-id:plugin-artifact-id[:plugin-version]:goal

다음은 명령줄에서 종속성 트리 목표를 실행하는 예입니다. 빌드 단계의 일부가 아닙니다.

mvn dependency:tree

빌드 수명 주기에서 POM의 역할

명령줄을 통해 실행되는 maven 빌드는 일련의 단계 및 목표를 실행합니다. pom.xml 구성은 프로젝트 빌드 수명 주기를 설정하는 데 중요한 역할을 합니다. pom.xml 파일의 packaging 값은 maven 빌드에서 실행할 목표 집합을 정의합니다. 예를 들어 jar인 경우 다음 단계와 목표가 실행됩니다.

Phase Goal
process-resources resources:resources
compile compiler:compile
process-test-resources resources:testResources
test-compile compiler:testCompile
test surefire:test
package jar:jar
install install:install
deploy deploy:deploy

플러그인 요소를 사용하여 pom.xml 파일에서 목표를 구성할 수도 있습니다. 이것은 사용자 정의 플러그인을 생성하고 빌드 단계에 대한 특정 목표를 실행하려는 경우에 주로 필요합니다.

참조

  • Apache.org 문서