IDE와 별개로 사용되는 빌드 도구!!
IDE 프로젝트 관리와 관련되 쓰이는 도구가 많다
빌드 도구는 소스 코드를 실행 가능한 애플리케이션으로 자동 생성하는 프로그램으로 라이브러리를 자동 추가 관리 및 버전을 동기화 해주는 역할을 한다
실행 창에 cmd 사용 콘솔 프로그램 생성후
mvn archetype:generate -DgroupId=com.firstMaven -DartifactId=javaprj -DarchetypeArtifactId=maven-archetype-quickstart
mvn archetype:generate -D // 메이븐 프로젝트 생성하겠다는 뜻
groupId=com.firstMaven -D // 프로젝트 식별 그룹명
artifactId=javaprj -D // 내가 Javaprj 프로젝트 생성
archetypeArtifactId=maven-archetype-quickstart // maven-archetype-quickstart 라는 프로젝트 구조 기본
Maven이 기본 제공하는 라이프사이클(LifeCycle)
단계별로 나누어준 뒤 해당 단계까지만 진행시켜준다
Phase:Plug-in:Goal 순서대로 나와 있다.
Phase : 빌드 라이프사이클에서 빌드 단계와 순서를 정의
Plug-in : 해당 단계를 실행시켜주는 프로그램
Goal : 내가 실행시킬 명령을 뜻하며 Plug-in은 여러개의 Goal로 이루어져 있다.
POM.xml에서 Phase를 해결하는 Plug-in을 설정해줄 수 있다.
Maven의 빌드 정보를 담은 파일
프로젝트의 빌드 옵션을 설정하는 역할을 한다
packaging 부분 jar -> war로 바꾼 후 web-Inf web.xml 추가시 웹 프로젝트로 간단하게 변경 가능하다.
필요한 라이브러리가 버전이 달라질 때 해당 라이브러리를 일일히 추가해줘야하는 번거로움이 있다.
수많은 라이브러리, 프로젝트 모델을 쌓아놓고 있다.
로컬 Maven 저장소에 필요한 파일을 가져와서 사용하게 가능하며 프로젝트가 하나의 로컬 Maven 저장소를 사용해 개별적으로 라이브러리를 추가할 필요가 없게 해준다.
Maven Dependencies에 추가한 라이브러리들이 처리되있다.