본문 바로가기
개발/서버 환경

이클립스 Maven 메이븐 로컬 Repository 사용

by 🌻♚ 2019. 7. 18.

메이븐 Local Repository

Maven은 pom.xml과 같이 사용하여 라이브러리 관리를 쉽게 해준다.
주로 네트워크 접속이 가능한 사이트에서는 clean install 명령을 함께 사용하여 쉽게 라이브러리를 받아주면서 타겟설정도 같이 해준다.
default로 홈 디렉토리의 .m2/repository 경로 안에 저장된다.

만약 네트워크가 없거나 빠른속도로 개발에 필요한 라이브러리를 불러오기 위해 로컬에  repository를 설정하여 필요한 라이브러리를 받아 사용할 수 있다.

실습 진행전에 이클립스IDE, 메이븐, 톰캣 그리고 원하는 라이브러리들이 필요하다.

라이브러리는 기존 .m2 폴더를 복사해서 사용해도 된다.
원하는 디렉토리를 설정 후 해당 경로에 필요한 라이브러리들을 넣어준다.




setting.xml

메이븐 홈 경로 conf 디렉토리 안에 setting.xml파일 수정이 필요하다.
localRepository 경로를 로컬에서 라이브러리들이 위치해있는 경로로 설정해준다.
${user.home} 은 OS사용자 계정의 홈 디렉토리를 말한다.
1
2
3
4
5
6
7
8
9
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
    -->
<localRepository>${user.home}/Desktop/dev/repository</localRepository>
cs



eclipse maven 설정

이클립스 환경설정에서 Maven > User Settings 경로에 User Settings를 메이븐 홈 경로 conf 디렉토리에 setting.xml파일을 지정해준다.
그러면 Local Repository가 setting.xml파일에 설정한 localRepository로 변경되는 것을 확인 후  Apply.




pom.xml

.m2 경로 repository 그대로 썻다면 dependency도 그대로 사용하면 된다.
아래처럼 dependency 구조가 기본이고 실제 경로는
{설정한 localRepository}/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar 파일을 참조하게된다.
1
2
3
4
5
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.25</version>
</dependency>
cs


확인

이후 컴파일을 진행해주고, Maven Dependencies를 확인해 주면 해당 라이브러리들의 경로가 변경된 것을 확인 할 수 있다.
경로 변경이 되지 않았거나, 있어야할 라이브러리가 없다면,
Maven update Projects를 통해 업데이트해준다.
네트워크를 통해 라이브러리들을 받는게 아니라 로컬에 있는 라이브러리들을 참조하는거라 시간은 오래 걸리지 않는다.




댓글1