Dien 2011. 5. 14. 14:47


이 글은
2011년 5월 14일 최초 작성되었으며
2011년 5월 20일 최종 수정되었습니다.




Maven은?

Apache Maven은
Project Management & Comprehension Tool이다.

POM에 기반하여, Project를 build를 관리한다.



POM은?

Project Object Model의 약어.
xml표현식으로 기술되며
프로젝트에 관련된 거의 모든 내용을 이 곳에 기술한다.

기본적으로 기술되어야 하는 내용은 아래와 같다.

modelVersion 4.0.0 이어야 한다.
groupId Project의 Group ID
artifactId Artifact (Project)의 ID
version Artifact의 버전


심지어 pom.xml 파일 하나만으로도 프로젝트 생성이 가능하고, 빌드까지 할 수 있다.

아래는 Minimal POM의 예제이다.
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1</version>
</project>



pom파일 내에 project의 parent를 기술할 수 있고,
dependencyList를 기술하여 쉽게 dependency를 manage할 수 있다.

(공용 혹은 개인 repository를 이용하여 쉽게 관리 가능하다.)



Eclipse에서 Maven 사용하기.

Sonatype에서 개발한 M2Eclipse 라는 plugin이 있다.

http://m2eclipse.sonatype.org/

Eclipse market에서도 검색 & 다운로드 가능함.



관련 링크
자바지기 문서
http://www.javajigi.net/display/IDE/Maven

Maven Apache Document
http://maven.apache.org/guides/index.html

Maven Wiki (Codehaus)
http://docs.codehaus.org/display/MAVENUSER/Home