 |
|
난이도 : 중급 Sing Li, Author, Wrox Press
2007 년 5 월 29 일 요즘 프로젝트들은 대부분 단일 로컬 프로젝트 팀에 의해 독립적으로 만들어지지 않습니다. 견고하면서도 엔터프라이즈 급인 오픈소스 컴포넌트들의 사용이 늘어나면서 오늘날의 소프트웨어 프로젝트는 프로젝트 팀들 간의 역동적인 협업을 요구하며 전세계적으로 생성, 관리되는 컴포넌트들에 대해 종속성을 갖게 됩니다. 아파치 메이븐(Apache Maven) 빌드 시스템은 인터넷 기반으로 전세계적인 개발을 하기 전의 기존 빌드 툴과는 달리 현재 당면한 이런 문제들을 해결하기 위해 고안됐습니다. 이 튜토리얼로 메이븐 2를 시작해 보겠습니다.
시작하기 전에
견고한 엔터프라이즈 급 오픈소스에 기반을 둔 현대적인 소프트웨어 개발에는 새로운 빌드 및 프로젝트 협업 도구가 필요하다. 아파치 메이븐 2의 코어 엔진은 크고 복잡하게 얽혀있는 소프트웨어 프로젝트를 빌드하고 관리하는 작업을 한다. 하지만 메이븐 2 설계의 목적은 대규모 프로젝트 환경에 익숙하지 않는 개발자들도 편하게 사용할 수 있도록 하는 것이다. 기본적으로 이 튜토리얼은 초보 개발자를 중심으로 협업이라는 개념과 메이븐 2에서 사용할 수 있는 기능들을 설명한다. 메이븐 2의 고급 기능을 다루는 것은 이 튜토리얼의 범위 밖이다.
이 튜토리얼에 대하여
이 튜토리얼은 기초 개념에 대한 설명과 메이븐 2를 사용한 간단한 예제를 다음 순서대로 다룰 것이다.
- 메이븐 2 개요
- 메이븐 2 종속성 관리 모델 이해하기
- 메이븐 2 저장소(repository)와 메이븐 2 코디네이트(coordinates)
- 메이븐 2 생명주기, 각 단계들, 플러그인, 모조(mojo)
- 메이븐 2 다운로드와 설치
- 메이븐 2 다루기 - 첫 번째 메이븐 2 프로젝트
- POM(Project object model) 커스터마이징
- 여러 프로젝트로 작업하기
- 메이븐 2 다루기 - 여러 프로젝트 빌드하기
- 이클립스 3.2에 메이븐 2.X 플러그인 설치하기
- 이클립스 3.2에서 메이븐 2.X 플러그인 사용하기
본 튜토리얼을 통해, 독자들은 메이븐 2 디자인 뒤에 담긴 철학을 이해하고 음미하게 될 것이다. 더 나아가 메이븐 2를 사용하여 프로젝트 빌드 작업을 할 때 필요한 기초적인 기술들에 익숙해질 것이다. 이런 것들은 아파치와 Codehaus 커뮤니티에 있는 커다란 프로젝트에 참여할 수 있는 여권과도 같은 것이다. 가장 중요한 것은 여러분이 메이븐 2를 사용하여 프로젝트를 일간 빌드와 프로젝트 관리 활동에 사용할 수 있다는 것이다.
필요한 요소
일반적으로 Java™ 개발에 익숙해야 한다. 이 튜토리얼에서는 독자들이 종속성 관리와 출력 패키징(output packaging) 같은 빌드 도구의 기본 동작과 가치를 이해하고 있다고 가정한다. 이클립스용 메이븐 2.x 플러그인을 사용할 것이기 때문에 이클립스 3.2로 작업할 수 있어야 한다. 아파치 소프트웨어 재단(Apache Software Foundation)이 관리하는 것과 같은 대규모 오픈소스 프로젝트에 참여해 보는 것은 상당한 가치가 있다. 제네릭 프로그래밍을 포함한 자바 5 코딩을 이해할 수 있는 것 또한 도움이 된다. Ant, autoconf, make, nmake와 같은 빌드 기술들을 사용하는 프로젝트 경험이 있으면 좋겠지만 꼭 필요한 것은 아니다.
시스템 요구사항
본 튜토리얼의 코드를 따라서 실행하기 위해서는 Sun's JDK 1.5.0_09(또는 그 이후 버전) 또는 IBM JDK 1.5.0 SR3이 필요하다.
이클립스용 메이븐 2.x 플러그인 절을 따라해보려면 Eclipse 3.2.1 또는 그 이상의 버전이 설치되어 있어야 한다.
본 튜토리얼을 위한 추천 시스템 구성은 다음과 같다.
- 최소 1GB의 주 메모리를 달고 JDK/JRE를 지원하는 시스템
- 필요한 소프트웨어 설치와 예제를 위한 최소 20MB의 디스크 공간
이 튜토리얼은 마이크로소프트 윈도우 OS를 기반으로 작성했다. 하지만 본 튜토리얼에서 사용한 도구들은 Linux®와 UNIX® 시스템에서도 사용할 수 있다.
|