IT모아

메이븐 생명주기 및 설명 본문

Maven(메이븐)

메이븐 생명주기 및 설명

아롱사태남 2016.09.03 19:16

● clean

어떤 빌드 결과물은 프로젝트 루트의 target이라는 디렉터리에 저장된다. clean 상태의 Goal은 이 target 디렉터리를 지워서 이전에

빌드된 파일들을 없앤다.

이는 mvn clean 같은 빌드 상태를 명시해서 초기화하거나 항상 실행되도록 POM에 정의하지 않으면 다음 상태가 되기 전에는 실행하지 않는다.


● validate

메이븐의 빌드 파일용 XML 사양을 따르는 올바른 pom.xml 파일인지 확인한다.

pom.xml 파일이 태그를 닫지 않거나 중첩되지 않았다면 빌드는 메이븐 애플리케이션이 제대로 초기화되기 전에 실패할 것이고,

POM이 분석되지 않는 에러 또는 이와 비슷한 에러를 보여줄 것이다.


● compile

모든 정의된 의존성들을 가져오고, 코드를 컴파일하고, 모든 클래스 파일을 target/classes 디렉터리에 빌드한다.


● test

test 디렉터리에 있는 클래스들을 컴파일하고 디렉터리에 있는 모든 단위 테스트 또는 통합 테스트용 테스트 코드를 실행한다.

기본적으로 실패하는 모든 단우 테스트는 빌드 실패를 초래한다.


● package

test 상태가 성공적으로 실행된 다음의 실행되며 WAR나 JAR 파일 같은 결과물을 생성한다. 

이 파일은 target 디렉터리의 루트에 저장되는데, 독립적인 파일이 아니라는 걸 알아두어야 한다.

왜냐하면 기본적으로 모든 의존 라이브러리를 내장하지 않고 있고 의존성은 여전히 클래스 패스에 포하모디어 있어야 하기 떄문이다.

이 상태로 Goal은 packaging 태그에 의존한다. 


● install

빌드된 결과물을 내부 메이븐 저장소로 보낸다. 대개 $HOME/.m2/repository 디렉터리에 위치한다.

내부적으로 실행되는 메이븐 빌드가 하나 이상 있다면 새로운 결과물은 이제 해당 빌드를 이용할 수 있다.


● deploy

마무리된 결과물을 배포하기 위한 장소가 어딘지 정확히 정의하는 추가 설정이 좀 더 필요하다. 

배포 위치는 일반적으로 Artifactory나 Nexus 같은 결과물 저장소다. 

이 저장소들은 빌드를 위한 의존 결과물을 다운로드할 수 있는 전형적인 공간으로, 완벽한 테스트 환경이나 실제 환경에 빌드를

설치하기 위해 머무르는 임시 공간의 역할을 주로 한다.

'Maven(메이븐)' 카테고리의 다른 글

메이븐 생명주기 및 설명  (0) 2016.09.03
0 Comments
댓글쓰기 폼