앞에서 JSTL에 관해 배울때 JSTL 라이브러리를 설치해서 이클립스로 가져와서 복사했다. 프로젝트가 복잡해질수록 사용하는 라이브러리도 많아지고 관리가 어렵다. 또한 프로젝트의 컴파일, 배포도 어려워진다
Maven을 이용해서 이 문제를 해결할 수 있다.
Maven으로 빌드, 패키징, 문서화, 테스트와 테스트 리포팅, git, 의존성관리, svn등과 같은 형상관리 서버와 연동, 배포를 쉽게 할 수 있다.
Maven을 이해하려면 CoC를 이해해야 한다.
CoC는 일종의 관습이다.
소스파일은 어디에 있어야 하고 컴파일된 파일은 어디에 있어야 하고.. 이런 것이다.
Archetype을 이용하여 Maven 기반 프로젝트를 생성할 경우 프로젝트 하위에 pom.xml 파일이 생성된다.
pom.xml 파일을 살펴보면 다음과 같다.
Maven의 가장 큰 이점 : Dependency Management 기능
pom.xml의 dependencies 엘리먼트가 Dependency Management 기능의 핵심
해당 엘리먼트 안에 필요한 라이브러리를 저장한다.
Maven을 이용해서 웹 어플리케이션을 만들어보자
이클립스에서 new > maven project
넘어가다가 아키타입을 선택한다.
아키타입은 일종의 프로젝트 템플릿이다.
어떤 아키타입을 선택하느냐에 따라 자동으로 여러가지 파일들을 생성하거나 라이브러리를 셋팅하는 일을 해준다.
Maven을 이용하여 웹 어플리케이션을 개발하기 위해
maven-archetype-webapp을 선택하자
group id : 프로젝트를 진행하는 회사나 팀의 이름을 거꾸로 적음
artifact id : 해당 프로젝트의 이름
package : 위 두개의 조합으로 만들어짐