자바·JSP2014. 3. 6. 00:54

Maven은 크게 두가지 기능이 있다. 첫번째 라이브러리 관리 기능이다. Java로 개발을 하다보면 Spring, jdbc, junit, mybatis등 필요한 라이브러리들이 많다. 이걸 .zip형태로 다운받아서 수동으로 라이브러리를 추가 해줘도 된다.

수동으로 하는 방법이 방법이 훨씬 직관적일 수 있으니까. 이를테면 덧셈을 할 때 '1 + 1 = 2'라고 배우기 전에 사과 두개를 그려 놓고 '사과 한개에 사과 한개가 더 있으면 사과 2개이다.' 라고 하면서 배우는 것과 같은 이치이다.

나중에는 내가 덧셈을 배울 때 사과로 배웠는지 산까치로 배웠는지 잊어버리듯이 메이븐의 라이브러리 관리는 우리가 처음에 수동으로 라이브러리를 다운로드 받고 경로를 추가해주던지 복사해 주던지 하면서 외부 라이브러리를 관리 하다가 이것을 편하게 관리해 주는 기능만을 사용하도록 만들어 준다.

써보면 안다. 쓰는 법은 차차 익히게 될 것이다. 한번에 설명을 해줄 수 없으니 지금은 이해가 잘 가지 않더라도 천천히 가보도록 하자.

메이븐의 라이브러리 관리 기능은 너무 편하다. 이클립스에 기본으로 탑재 되어 있으므로 별다른 설정 없이 그냥 사용하면 된다.

pom.xml이라는 파일에 우리가 만들 App에 어떠한 라이브러리를 사용할 것인지 적어 놓기만 하면 Maven이 알아서 다운 받고 알아서 설치해 주고 경로도 지정해준다.

메이븐은 pom.xml이라고 해도 과언은 아니다. 메이븐이 편한 이유는 pom.xml파일만 있으면 Maven이 설치되어 있는 IDE라던지 혹은 시스템에 설치가 되어 있으면 Maven빌드를 통해 해당 파일을 다른곳에서도 쉽게 설치해준다.

이것은 git을 이용한 팀 프로젝트 할 때 더 유용하다.

두번째, 빌드 기능이다. 빌드란 무엇인지 이전 글에 써 놓은것을 보면 대충 감이 잡힐 것이다. '빌드'기능은 Ant도 가지고 있는 기능인데, 굳이 원한다면 라이브러리 관리는 maven으로 해도 되고 빌드는 수동으로 하거나 Ant를 이용해서 해도 된다.

하지만 결국은 maven하나로 통일하게 될 것이다.


결론은 메이븐이란 라이브러리 관리+빌드 툴인거다.

Posted by 미랭군