Maven Repository

Kevin·2024년 3월 13일
1

JAVA

목록 보기
6/16
post-thumbnail

서론

최근 서버를 재 기동 및 프로세스 상태를 확인 하는 작업을 하면서, Maven Repository에 대해서 잘 인지하지 못하여서 헤맸던 경험을 했다.

Maven Repository가 정확히 무슨 역할을 하고, 어떤 종류가 있는지를 이번 기회에 공부를 하여서, 다음에 같은 상황이 되었을 때 어떻게 트러블 슈팅을 할지 명확히 인지하고자 한다.

Maven Repository를 알기 위해서는 먼저 Maven에 대해서 알고 있을 필요가 있다.


Maven

Maven은 Apache 재단에서 개발하는 JAVA 기반 프로젝트의 라이프사이클 관리를 위한 빌드 도구이다.

이러한 Maven은 컴파일빌드를 동시에 수행, 테스트를 병행하거나 서버 측 Deploy 자원을 관리할 수 있는 환경을 제공한다. 또한 라이브러리 관리 기능도 내포하고 있다.

settings.xm이나 pom.xml 파일에 프로젝트에 필요한 라이브러리 및 버젼을 적으면 Maven이 알아서 다운받고, 설치해주고, 경로까지 지정해준다.


Maven 프로젝트의 기본 디렉토리 구조는 아래와 같다.

application-core

  • pom.xml
  • src
    • main
      • java
        • com.package.dir
      • resources
    • test
      • java
        • com.package.dir
      • resources

나무위키 참조


Maven Repository의 종류

Maven에서는 프로젝트를 빌드하거나 라이브러리를 다운로드할 때 의존성을 확인하기 위해 repository를 사용하는데, 이 때 repository는 3 종류가 있다.


  1. Local Repository

Maven은 dependency(의존성)packaging한 프로젝트 결과물을 local의 특정 위치에 저장한다.

아래는 특정 위치를 별도로 지정하지 않았을 때의 기본 위치이다.

ex) 리눅스 & MAC = <홈 디렉토리>/.m2

ex) Windows = C:\Users\<유저 이름>.m2

.m2 디렉토리 하위에 dependency(의존성)packaging한 프로젝트 결과물들을 하위 디렉토리 구조로 생성하여 저장한다.


  1. Repository

의존성을 다운로드 받을 위치의 repository이다.

위에서

settings.xm이나 pom.xml 파일에 프로젝트에 필요한 라이브러리 및 버젼을 적으면 Maven이 알아서 다운받고, 설치해주고, 경로까지 지정해준다.

라고 했던 말을 기억하는가.

이 때 Maven이 settings.xml이나 pom.xml에 기술된 라이브러리를 다운 받는 저장소라고 생각하면 된다.

특정 위치를 별도로 지정하지 않으면 아래와 같은 기본 위치를 가지고 있다.
http://repo.maven.apache.org/maven2

다수의 repository를 기술할 수 있으며, 자체적인 repository를 기술하기도 한다.


  1. Plugin Repository

maven plugin을 다운로드 받을 수 있는 저장소의 위치를 기술한다.

이는 말 그대로 maven의 plugin을 다운로드 받을 수 있는 repository를 의미한다.

마찬가지로 다수의 repository를 기술할 수 있다.

profile
Hello, World! \n

0개의 댓글

관련 채용 정보