Maven 정리

Maven 개요
의존성 관리
  • 개념
    • dependency의 scope이 있음(compile, runtime, provide 등등)
    • 중앙(http://search.maven.org)-원격-로컬리파지토리
    • 의존성 전이 A1–>B1–>C1, A1–>C2 (위 Mavne의 여러기능 소개 항목 참조)
    • 내려받을 때 소스코드도 내려받을 수 있음(옵션)

빌드관리

  • 개념
    • 3개의 라이프싸이클(clean, build, site)별로 각각 phase를 갖고 있음. 각 phase에는 plugin들의 goal이 매핑됨.
    • http://wiki.gurubee.net/display/SWDEV/Maven+Lifecycle
    • 각 phase는 의존성이 있어서 특정 phase를 실행하면 의존성 있는 phase들도 같이 수행됨.
    • 빌드 수행은 plugin들이  수행함. Ant의 task처럼 goal을 지정하여 수행( phase와 달리 플러그인의 goal을 지정하여 해당 goal만 실행할 수 있음)
    • mvn <플러그인명>:<플러그인골> (위 Mavne의 여러기능 소개 항목 참조)
플러그인 구성하기
프로젝트 관계 설정
     하나의 프로젝트에서 여러 모듈을 관리할 수 있다.
     부모 pom.xml, 자식 pom.xml들(자식은 부모의 정보를 기록)
빌드환경구성
    Profile을 이용하여 별도의 DEV, OPER별로 별도의 환경구성을 할 수 있다.
     (대부분의 site에서는 환경변수만 얘기하고 있는데, dependcy등 많은 부분을 별도 지정할 수 있다.)
기타

주요 참고 사이트

  • Maven 홈페이지
SonaType에서 만든 Maven Ebook
그 Ebooke을 번역한 블로그
Maven 중앙 리파지토리
플러그인 정보(사용법, 옵션) 검색

 

댓글 남기기