Maven 로컬 저장소 생성 및 사용하기

1 분 소요

로컬 저장소

이용하려는 라이브러리에 따라서 중앙 저장소에 존재하지 않는 경우가 존재한다.

자신이 만든 라이브러리 혹은 유명하지 않은 라이브러리라면 중앙 저장소에 공개되지 않을 수 있다.

이럴 경우 로컬 저장소를 이용하면 되는데, 로컬 환경에 있는 저장소이다.

메이븐은 로컬 볼륨에 저장소를 작성하며, 이곳에 설치한 라이브러리는 메이븐에서 원격 저장소와 동일하게 다룰 수 있다.

메이븐 자작 라이브러리 생성하기

mvn archetype:generate

위 명령어를 실행한 뒤, 다음과 같이 프로젝트를 설정한다.

key value
archetype maven-archetype-quickstart
version 1.1(기본값)
groupId [groupId]
artifactId [artifactId]
version 1.0-SNAPSHOT
package [package]

[]괄호로 쌓인 부분은 자신의 상황에 맞게 입력하면 된다.

이렇게 생성한 프로젝트에 자신이 원하는 클래스를 생성한다.

로컬 저장소에 라이브러리 추가하기

자신이 만든 프로젝트 디렉토리로 이동해서 명령어를 실행하면 빌드된 JAR파일을 로컬 저장소에 설치한다.

mvn install

혹은, 이미 JAR 파일이 준비되어 있다면 이 명령어를 사용하면 된다.

mvn install:install-file
-Dfile="jar 경로"
-DgroupId=[groupId]
-DartifactId=[artifactId]
-Dpackage=jar
-Dversion=1.0

메이븐에서 -D라는 기호 뒤에 프로퍼티 명을 기술하여 프로퍼티 값을 메이븐에게 전달 가능하다.
각 옵션은 이러한 뜻을 가진다.

  • -Dfile=라이브러리 경로
  • -DgroupId=그룹 ID
  • -DartifactId=아티팩트 ID
  • -Dpackage=패키징
  • -Dversion=버전

옵션을 모두 지정해서 mvn install:install-file 명령어를 실행하면 지정한 라이브러리 파일을 로컬 저장소에 설치할 수 있다.

로컬 저장소 라이브러리 이용하기

원격 저장소의 라이브러리를 이용할 때와 동일하게 <dependency>를 추가한다.

<dependencies>
	...[생략]
	<dependency>
		<groupId>[그룹 ID]</groupId>
		<artifactId>[아티팩트 ID]</artifactId>
		<version>[버전 정보]</version>
	</dependency>
</dependencies>

pom.xml을 수정한 뒤, 사용하고자 하는 클래스에 가서 import 한 뒤 사용하면 된다.

앞서 말했듯이, 메이븐 중앙 저장소를 이용하던 방식과 동일하다.

로컬 저장소 위치

홈 디렉토리/.m2/repository에 접근하면 groupId 마다 폴더로 정리되어 있다.

댓글남기기