0. 메이븐 이란?
메이븐이란 Apache에서 개발하고 관리하는 오픈 소스 빌드 도구이다. 의존성 관리 툴로도 많이 사용된다.
정리하자면 프로젝트 빌드, 관리에 사용하는 도구이다.
1. 메이븐의 작동 방식
pom.xml에서 선언한 dependency들을 저장소로 불러와 사용하는데 그 과정은 아래와 같다.
- Maven 프로젝트에서 pom.xml 파일을 읽는다.
- Local Repository에 파일이 있는지 체크한다.
- 만약 필요한 파일이 없다면 Central Repository에 요청한다.
- Central Repository로부터 정보를 가져온다.
- 그 정보를 Local Repository에 저장한다.
- 모든 준비가 갖춰지면 프로젝트를 실행시킨다.
2. Local Repository
로컬 리포지토리는 메이븐 프로젝트를 활용하는 사용자의 컴퓨터 홈디렉토리에 저장되어있다.
경로는 .m2 > repository 이다.
로컬 리포지토리 확인👇👇👇👇👇👇
https://myvelop.tistory.com/75
3. Central Repository란?
센트럴 리포지토리 홈페이지 👇👇👇👇👇👇
https://repo.maven.apache.org/maven2/
메이븐 인터넷 저장소이다. 잘 알려진 보편적인 jar파일이 Apache Central 저장소에 보관되어있다.
사용자는 환경설정을 통해 외부 레파지토리에서 필요로 하는 artifact들을 다운로드받을 수 있다.
여기서 artifact란 여러 가지 분야에서 여러 가지 의미로 쓰이는데
그 중 메이븐에서의 정의에 의하면 메이븐의 빌드의 결과로 생기는 jar, war 등을 의미한다.
Central Repository 홈페이지에 들어가면 여러가지 경로가 존재한다.
사용자는 이 파일들을 원격 저장소에서 로컬로 다운로드받아 사용하는 것이다.
로컬 저장소에서 사용했던 하이버네이트를 확인해보자.
org > hibernate > hibernate-core 경로를 타고 들어가면
하이버네이트의 파일들도 가지고 있다.