(Maven) 메이븐 라이프사이클(Lifecycle)과 플러그인 실행

Maven은 clean,  build(default), site의 세 가지 라이프사이클을 제공하고 있다.
각 라이프 사이클은 순서를 갖는 단계(phase)로 구성된다.
또한, 각 단계별로 기본적으로 실행되는 플러그인 골이 정의되어 있어서 각 단계마다 알맞은 작업이 실행 된다.

[디폴트 라이프사이클의 주요 단계]

1. generate-sources : 컴파일 과정에서 포함될 소스를 생성한다. 예를들어, DB 테이블과 매핑되는 자바코드를 생성해주는 작업이 이 단계에서 실행된다.

2. process-sources : 필터와 같은 작업을 소스 코드에 처리한다.

3. generate-resources : 패키지에 포함될 자원을 생성한다.

4. process-resources : 필터와 같은 작업을 자원 파일에 처리하고, 자원 파일을 클래스 출력 디렉토리에 복사한다.

5. compile : 소스 코드를 컴파일해서 클래스 출력 디렉토리에 클래스를 생성한다.

6. generate-test-sources : 테스트 소스 코드를 생성한다. 예를들어, 특정 클래스에서 자동으로 테스트 케이스를 만드는 작업이 이 단계에서 실행된다.

7. process-test-resources: 필터와 같은 작업을 테스트 소스 코드에 처리한다.

8. generate-test-resources: 테스트를 위한 자원 파일을 생성한다.

9. process-test-resources : 필터와 같은 작업을 테스트 자원 파일에 처리하고, 테스트 자원파일을 테스트 클래스 출력 디렉토리에 복사한다.

10. test-compile: 테스트 소스코드를 컴파일해서 테스트 클래스 출력 디렉토리에 클래스를 생성한다.

11. test : 테스트를 실행한다.

12. package : 컴파일 된 코드와 자원파일들을 jar, war와 같은 배포형식으로 패키징한다.

13. install : 로컬 리포지토리에 패키지를 복사한다.

14. deploy : 생성된 패키지 파일을 원격 리포지토리에 등록하여, 다른 프로젝트에서 사용할 수 있도록 한다.


댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬