Maven은 pom.xml과 같이 사용하여 라이브러리 관리를 쉽게 해준다.
주로 네트워크 접속이 가능한 사이트에서는 clean install 명령을 함께 사용하여 쉽게 라이브러리를 받아주면서 타겟설정도 같이 해준다.
default로 홈 디렉토리의 .m2/repository 경로 안에 저장된다.
만약 네트워크가 없거나 빠른속도로 개발에 필요한 라이브러리를 불러오기 위해 로컬에 repository를 설정하여 필요한 라이브러리를 받아 사용할 수 있다.
실습 진행전에 이클립스IDE, 메이븐, 톰캣 그리고 원하는 라이브러리들이 필요하다.
라이브러리는 기존 .m2 폴더를 복사해서 사용해도 된다.
원하는 디렉토리를 설정 후 해당 경로에 필요한 라이브러리들을 넣어준다...
메이븐 홈 경로 conf 디렉토리 안에 setting.xml파일 수정이 필요하다.
localRepository 경로를 로컬에서 라이브러리들이 위치해 있는 경로로 설정 해 준다.
${user.home}은 OS사용자 계정의 홈 디렉토리를 말한다.
<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>
이클립스 환경설정에서 Maven > User Settings 경로에 User Settings를 메이븐 홈 경로 conf 디렉토리에 setting.xml파일을 지정해준다.
그러면 Local Repository가 setting.xml 파일에 설정한 localRepository로 변경되는 것을 확인 후 Apply
.m2 경로 repository 그대로 썻다면 dependency도 그대로 사용하면 된다.
아래처럼 dependency 구조가 기본이고 실제 경로는
{설정한 localRepository}/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar 파일을 참조하게된다.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.25</version>
</dependency>
이후 컴파일을 진행해주고, Maven Dependencies를 확인해 주면 해당 라이브러리들의 경로가 변경된 것을 확인 할 수 있다.
경로 변경이 되지 않았거나, 있어야할 라이브러리가 없다면,
Maven update Projects를 통해 업데이트해준다.
네트워크를 통해 라이브러리들을 받는게 아니라 로컬에 있는 라이브러리들을 참조하는거라 시간은 오래 걸리지 않는다.