메이븐의 기능을 사용하기 위해 작성하는 파일
이 파일에서 프로젝트, 의존성 라이브러리, 빌드 등의 정보 및 해당 프로젝트를 관리하는데 필요한 내용 기술
요새는 Gradle
로 많이 전환하는 추세
JVM
이나 WAS
가 프로젝트를 인식하고 실행할 수 있게
우리가 작성한 소스코드와 프로젝트에 사용된 파일들(.xml, .jar, .properties)를 빌드하는 도구
개발의 규모가 커질수록 관리해야 할 라이브러리가 많아지고 라이브러리 간 버전 호환성을 체크해야 하는데, 빌드 관리 도구 사용 시 이러한 문제를 해결
자바 기반의 프로젝트를 빌드하고 관리
하는데 사용하는 도구
pom.xml
파일에 필요한 라이브러리를 추가하면 해당 라이브러리에 필요한 라이브러리까지 함께 다운로드 하여 관리
메이븐 생명주기에는 크게 Default LifeCycle, Clean LifeCycle, Site LifeCycle 등이 있다.
위에 보이는 특정 단계를 수행하기 위해서는 이전 단계 처리해야함
Default LifeCycle
:
validate -> compile -> test -> package -> verify -> install - >deploy
Clean LifeCycle
:
clean
Site Lifecycle
:
site -> site-deploy
각 단계는 메이븐에서 제공하는 플러그인이 설정된 goal을 수행하는 방식으로 동작
clean
: 이전 빌드가 생성한 모든 파일 제거validate
: 프로젝트를 빌드하는데 필요한 모든 정보를 사용할 수 있는지 검토test
: 단위 테스트 프레임워크를 사용해 테스트 실행package
: 컴파일한 코드를 가져와서 JAR등의 형식으로 패키징 수행verify
: 패키지가 유효하며 일정 기준을 충족하는 확인install
: 프로젝트를 사용하는데 필요한 패키지를 로컬 저장소에 저장deploy
: 프로젝트를 통합 또는 릴리스 환경에서 다른 곳에 공유하기 위해 원격 저장소에 패키지를 복사site
: 메이븐의 설정 파일 정보를 기반으로 프로젝트 문서 사이트 생성site-deploy
: 생성된 사이트 문서를 웹 서버에 배포