티스토리 뷰

728x90

1. 메이븐의 Coordinates는 artifact라고 부르는 단위의 라이브러리 혹은 컴포넌트를 구별하기 위한 정책이다.

 

2. groupId, artifactId, version으로 구분된다.

  2-1 groupId는 일반적으로 조직의 domain을 반대로 쓰는 경우가 많지만 그냥 junit처럼 쓰는 경우도 있다.

  2-2 artifactId는 프로젝트 이름이라고 생각하면 된다.

  2-3 version은 artifact 라이브러리나 컴포넌트의 버전이다.

  2-4 groupId와 version은 parent POM에서 상속받아서 사용가능하므로 항상 지정할 필요는 없다.

 

3. 메이븐 버전

  3-1 Major, Minor, Incremental, Build Number, Qualifier로 나누어 진다.

  3-2 Qualifier는 beta, alpha 같은 것을 말한다.

  3-3 보통은 major, minor, incremental 버전을 사용한다.

  3-4 snapshot은 qualifier의 하나로 현재 상태의 프로젝트를 의미한다.

    3-4-1 개발 중인 버전이라는 의미를 가지고 있고 신뢰할 수 없다. 

 

4. Repository

  4-1 artifact가 저장된 위치라고 할 수 있다.

  4-2 Local, Central, Remote로 구분할 수 있다.

    4-2-1 Local - 유저 홈 디렉토리에 artifact가 저장된 곳이다. 보통 유저 홈의 .m2 폴더에 저장된다.

    4-2-2 Central - maven 커뮤니티에서 사용하는 중앙 저장소 https://repo1.maven.org/maven2

    4-2-3 Remote - central 이외의 jboss, oracle, atlassian 등의 저장소나 개개의 회사의 private 저장소를 말한다.

  4-3 검색 순서는 Local에서 찾아보고 없으면 central이나 remote에서 찾게 된다.

    4-3-1 incremental 버전까지 확정된 라이브러리는 Local 저장소에 복사되어 캐싱되어 사용된다.

    4-3-2 snapshot의 경우는 하루에 한 번씩 dependency를 확인하여 새로운 버전을 확인한다.

  4-4 Local Repo에 저장되어 있는 artifact는 아래처럼 확인 가능하다.

    4-4-1 아래 폴더를 보면 pom 파일도 있는데 이 파일을 통해 다시 depdency를 확인하여 다운로드 하게 된다.

 

728x90

'Side Technologies' 카테고리의 다른 글

Maven : 의존성  (0) 2020.07.20
Maven : Maven POM  (0) 2020.07.20
Maven : Visual Studio Code로 메이븐 프로젝트 생성  (0) 2020.07.20
Maven : 명령실행하기  (0) 2020.07.20
Maven : 기본적으로 하는 일  (0) 2020.07.20
댓글