[dW리뷰] 아파치 메이븐 2 시작하기
원문 : http://www.ibm.com/developerworks/kr/library/tutorial/j-mavenv2/index.html
이번엔 이클립스 관련 튜토리얼은 아닙니다만, 상당히 충실한 내용을 갖춘 튜토리얼을 소개 드립니다. 프로젝트 빌드 관리 도구인 Maven은 지금 제가 다니는 회사에서도 활용하고 있으며 팀에서는 더욱 적극적으로 사용하여 매우 큰 도움을 받고 있습니다. 아파치 등 상당히 많은 오픈소스 프로젝트에서도 메이븐을 표준 프로젝트 빌드 관리 도구로 활용하고 있습니다만 실제 현업에서 얼마나 활용되고 있는지는 잘 모르겠네요. 하지만 프로젝트를 진행하면서 사용하고 생성하는 수많은 jar 파일을 관리할 수단을 특별히 갖추지 않고 있다면 최우선으로 메이븐을 고려해보실 것을 권합니다.
메이븐은 빌드 산출물 뿐만 아니라 툴 자체의 배포 등 중앙집중적인 빌드 관리를 위한 몇가지 개념 모델을 제시하고 있어서 처음 접근할 때는 다소 혼란스럽거나 메이븐의 구조가 갖는 장점이 와닿지 않을 수 있습니다. 본 튜토리얼에서는 이러한 개념부터 차근차근 시작해서 이클립스에 연동하여 실제 사용하는 과정까지 충실히 설명하고 있습니다.
주요 내용은 다음과 같습니다.
- Maven POM 모델, 저장소, 플러그인 개념 설명
- Maven 설치, 주요 명령어
- Maven 단일/다중 프로젝트 빌드 관리
- 이클립스 연동
Central 메이븐 저장소(maven repository)에서는 거의 대부분의 오픈소스 산출물을 제공하고 있으므로 개별적으로 다운로드해서 설치하는 과정없이 간단한 선언만으로 오픈소스 라이브러리들을 즉시 사용할 수 있습니다.
튜토리얼의 내용은 메이븐 사용법과 관련된 내용에 대해 충실히 다루고 있습니다만, 실제로 메이븐을 적용하고자 하는 팀이라면 반드시 메이븐 저장소(maven repository)도 자체적으로 구축해야 더 큰 효과를 볼 수 있습니다. 메인 레포지토리를 미러링함으로써 빠른 프로젝트 셋업과 배포를 보장하고, 자체 산출물을 업로드하여 간편히 공유할 수 있습니다. 레포지토리 구축은 Proximity를 참고하세요.
이클립스 플러그인/OSGi 프로젝트 모델을 직접 활용하는 메이븐 같은 관리 도구도 있을 법 한데요. 아직은 찾지 못했습니다. 물론 이클립스의 PDE 빌더와 업데이트가 그러한 역할을 해주고 있습니다만.. 메이븐처럼 좀 더 편리하게 정리가 되면 더 좋을 것 같습니다.
이 글은 스프링노트에서 작성되었습니다.
