티스토리 뷰

[IT]/컴퓨터

[IT][Maven의 골과 페이즈]

jamesku 2013. 3. 30. 20:45

 

 

[Maven의 골과 페이즈]


메이븐의 골(Goal)과 페이즈(Phase)를 알아보자.


골 - 작업의 단위

페이즈 - 골들을 모아서 페이즈로 만들고 순차적으로 내부 페이즈부터 자동 실행함



// 실행방법

mvn 페이즈     <- 내부 페이즈부터 실행됨

mvn 페이즈:골  <- 해당 골만 실행됨


ex) 

mvn compile

mvn surefire:test

mvn test

mvn package

mvn jar:jar



// 내부 페이즈부터 자동실행

compile -> test -> package


ex)

mvn package : compile -> test -> package

mvn test : compile -> test 



// Packing을 위한 페이즈(Phase) -- {골(Goal)}

process-resources {resources:resources}

compile {compiler:compile}

process-test-resources {resources:testResources}

test-compile {compiler:testCompile}

test {surefire:test}

package {jar:jar} {ejb:ejb or ejb3:ejb3 or jar:jar or par:par or rar:rar or war:war}

install {install:install}

deploy {deploy:deploy}


// 패키징(부가설명)


빌드를 수행할 때 POM의 <packaging> 설정에 따라 빌드를 수행하는데, 

가령 jar 패키징으로 설정되어 있다면 아래와 같은 goal들을 수행하게 된다.


1. process-resources: 설정에 따라 리소스 파일들을 복사한다.

2. compile: 컴파일을 수행한다.

3. process-test-resources: 테스트용 리소스 파일들을 복사한다.

4. test-compile: 테스트 코드들을 컴파일한다.

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

6. package: JAR 파일로 묶는다.

7. install: 로컬 저장소에 복사한다.

8. deploy: 원격 저장소에 복사한다.


deploy를 수행하면 그 이전의 모든 goal들이 실행된다.



// 필수 페이즈

mvn clean : target폴더의 빌드파일들을 모두 삭제한다

mvn compile : 소스를 컴파일 한다

mvn pakage : 컴파일된 소스를 가져다 jar같은 배포 포맷으로 패키징한다

mvn install : 의존성 관련 파일을 로컬 저장소에 패키징한다 

mvn deploy : 최종 패키지를 공유하기 위해 원격 저장소에 카피한다

mvn site : 프로젝트 문서를 생성한다




참고

http://xeraph.com/5629918

http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함