자바용 프로젝트 관리도구, Apache Ant의 대안, 프로젝트의 전체적인 라이프 사이클을 관리하는 도구
Maven은 빌드 수명 주기의 중심 개념을 기반, 특정 아티팩트(프로젝트)를 빌드하고 배포하는 프로세스가 명확하게 정의
vaildate - 프로세스가 정확하고 필요한 모든 정보를 사용할 수 있는지 확인
compile - 프로젝트의 소스 코드를 컴파일
test - 적절한 단위 테스트 프레임워크를 사용하여 컴파일된 소스 코드를 테스트, 테스트는 코드를 패키징하거나 배포할 필요가 없음
package - 컴파일된 코드를 가져와서 JAR와 같은 배포 가능한 형식으로 패키징
verify - 품질 기준이 충족되는지 확인하기 위해 통합 테스트 결과에 대한 모든 확인 실행
install - 다른 프로젝트에서 로컬로 사용하기 위해 패키지를 로컬 저장소에 설치
deploy - 빌드 환경에서 완료되고 다른 개발자 및 프로젝트와 공유하기 위해 원격 저장소에 최종 패키지를 복사
plugin - 하나 이상의 goal의 집합체
goal - 실행할 명령(mvn)
phase - 라이프사이클에서의 빌드 단계