pom.xml 파일은 메이븐의 기능을 사용하기 위해 작성하는 파일. 이 파일에는 프로젝트, 의존성 라이브러리, 빌드 등의 정보 및 해당 프로젝트를 관리하는 데 필요한 내용이 기술돼 있음.
빌드 관리 도구는 JVM이나 WAS가 프로젝트를 인식하고 실행할 수 있게 우리가 작성한 소스코드와 프로젝트에 사용된 파일들 (.xml, .jar, .properties)을 빌드하는 도구. 개발 규모가 커질수록 관리 할 라이브러리가 많아지고 라이브러리 간 버전 호환성을 체크해야 하는 어려움이 발생하는데, 빌드 관리 도구를 이용하면 이 같은 문제를 해결할 수 있다.
아파치 메이븐은 자바 기반의 프로젝트를 빌드하고 관리하는 데 사용하는 도구.
초창기 자바 프로젝트의 대표적 관리 도구였던 Ant를 대체하기 위해 개발됨.
메이븐의 가장 큰 특징은 pom.xml 파일에 필요한 라이브러리를 추가하면 해당 라이브러리에 필요한 라이브러리까지 함께 내려받아 관리한다는 것이다.
메이븐의 기능은 생명주기 순서에 따라 관리되고 동작한다. 인텔리제이 IDEA에서 생성한 프로젝트인 경우 인텔리제이 IDEA에서 우측에 있는 'Maven' 탭을 클릭하면 메이븐의 생명주기를 확인할 수 있다.
메이븐의 생명주기는 크게 기본 생명주기(Default Lifecycle), 클린 생명주기(Clean Lifecycle), 사이트 생명주기(Site Lifecycle)의 3가지로 구분.
각 생명주기에는 단계(phase)가 존재하며, 특정 단계를 수행하기 위해서는 이전 단계를 마쳐야 한다.
출처 : https://medium.com/@yetanothersoftwareengineer/maven-lifecycle-phases-plugins-and-goals-25d8e33fa22
각 단계는 메이븐에서 제공하는 플러그인이 설정된 목표(goal)를 수행하는 방식으로 동작. 각 단계마다 세부 단계들이 존재. 메이븐의 생명주기 단계는 순차적으로 실행된다.
메이븐 생명주기에 대해 더 자세하게 알고 싶다면, https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference 에서 확인할 수 있다.