본문 바로가기

개발툴...

[maven] 메이븐 라이프사이클 Phase 와 Goal


메이븐 라이프사이클에 대해 정리된 블로그 링크


- 메이븐의 라이프 사이클은 Default, Clean, Site 의 세 가지가 있다.

- Phase는 각 라이프사이클의 빌드 단계만을 정의, 해당 단계의 어떤 동작은 연결된 Plug-In 으로 실행됨

- Goal은 Ant의 타겟 이라고 한다... 대략 특정 Phase에서 동작할 플러그인을 구동시키는 명령어 정도로 이해하면 된다고 생각한다.


각 단계의 Phase 에 대한 설명


Default Lifecycle


 validate

 프로젝트가 정확한지, 필요한 정보를 모두 이용할 수 있는지 확인 

 initailize

 빌드 상태를 기화

 generate-sources

 컴파일에 포함되는 소스 코드 생성

 process-sources

 소스 코드 처리

 generate-resources

 패키지에 포함되는 리소스 생성

 process-resources

 리소스를 패키지를 준비할 디렉토리에 복사 및 처리

 compile

 프로젝트의 소스 코드를 컴파일

 process-classes

 컴파일에서 생성된 파일의 후처리

 generate-test-sources

 컴파일에 포함되는 테스트 소스 코드 생성

 process-test-sources

 테스트 소스 코드 처리

 generate-test-resources

 테스트를 위한 리소스 생성

 process-test-resources

 테스트 데스티네이션 디렉토리에 리소스를 복사 및 처리

 test-compile

 테스트 소스 코드를 컴파일하고 컴파일된 테스트 소스 코드를 테스트 데스티네이션 디렉토리로 이동

 process-test-classes

 테스트 컴파일에서 생성된 파일의 후처리

 test

 적절한 단위테스팅 프레임워크로 테스트 실행

 prepare-package

 패키지 전에 패키지를 준비하기 위해 필요한 동작 실시

 package

 컴파일된 코드를 배포 포맷에 게 패키지

 pre-integration-test

 통합 테스트 실행 전에 필요한 션 수행

 integration-test

 통합 테스트가 실행할 수 있는 환경에서 처리 및 패키지 배포

 post-integration-test

 통합 테스트 실행 후 필요한 액션 실시

 verify

 패키지가 유효하고 질을 만족하는지 증하기 위해 확인

 install

 로컬 저장소에 패키지 설치

 deploy

통합, 릴리즈 환경에서 작업 종료 후 최종 패키지를 외부 저장소에 복사


Clean Lifecycle


 pre-clean

 프로젝트를 clean 하기 전에 필요한 프로세스를 실행

 clean

 전 빌드에서 생성된 모든 파일 삭제 

 post-clean

 프로젝트를 clean 한 후에 필요한 프로세스를 실행


Site Lifecycle


 pre-site

 프로젝트 사이트 생성 전에 필요한 프로세스 실행

 site

 프로젝트 사이트 문서 생성

 post-site

 사이트 생성 후, 사이트 배포 전에 필요한 프로세스 처리

 site-deploy

 생성된 사이트 문서를 웹 서버에 배포