자바 프로젝트의 빌드(build)를 자동화해주는 빌드 도구
(= 자바 소스를 compile하고 package해서 deploy 하는 일 자동화)
빌드는 컴파일을 한 파일 또는 파일 그룹을 대상으로 행해진다.
컴파일의 산출물은 보통 실행파일이나 오브젝트 파일 또는 어떤 라이브러리가 될 수 있다.
때때로 배포를 위한 시스템을 준비하기 위해 빌드 이후 다른 단계가 존재하기도 한다.
build 과정
deploy
배치
만들어진 프로그램을 서비스 위치로 보내는 작업
settings.xml
maven tool 자체에 관련된 설정 담당
MAVEN_HOME/conf/ 아래 존재(MAVEN_HOME은 환경변수에 설정한 경로)
pom.xml
POM(Project Object Model)을 설정, 내 빌드 옵션 설정
하나의 자바 프로젝트에 빌트 툴로 maven을 설정했다면, 프로젝트 최상위 디렉토리에 생성된다.
- 프로젝트 정보
- 의존성 라이브러리 정보
최소한 groupId, artifactId, version 정보 필요
dependency의 scope 설정도 있음(scope에 대해)
- 빌드 정보
빌드와 관련된 정보 설정
- 배포
메이븐에도 라이프 사이클이 존재한다.
크게 default, clean, site (세부 phase)
메이븐의 모든 기능은 플러그인(plugin) 기반으로 동작
플러그인에서 실행할 수 있는 각각의 작업 = 골(goal)
하나의 페이즈는 하나의 골과 연결되며, 플러그인에는 여러 개의 골이 존재할 수 있다.