반응형

maven 을 사용하다 보면 자주 사용되지만 공개 repository에서 관리되지 않는 라이브러리들이 종종 있습니다.


대표적으로 mssql jdbc 가 있습니다.


이런 경우 mssql jdbc만 다른 방식으로 관리하고 컴파일 및 빌드를 한다는게 정말 불편하고 일관되지 않아서 어려움이 많습니다.


그래서 maven에서 이런 라이브러들까지 관리할 수 있도록 local 라이브러리 관리 기능을 제공하고 있습니다.




1. pom.xml 에서 아래처럼 repository 를 설정합니다. ${basedir}은 프로젝트 루트 디렉토리 입니다.


1
2
3
4
5
6
7
8
9
  <repositories>
    <repository>
      <!-- DO NOT set id to "local" because it is reserved by Maven -->
      <id>local-lib</id>
      <name>In Project Repo</name>
      <url>file://${basedir}/lib</url>
      <layout>default</layout>
    </repository>
  </repositories>



2. mssql jdbc를 예로 <dependecies>에서는 아래 처럼 설정합니다.


1
2
3
4
5
6
    <!-- MSSQL -->
    <dependency>
      <groupId>com.microsoft.sqlserver</groupId>
      <artifactId>sqljdbc4</artifactId>
      <version>4.2</version>
    </dependency>




3. 다운로드 받은 실제 mssql 라이브러리를 아래 폴더 형식으로 넣어둡니다. 


[프로젝트홈] \lib\com\microsoft\sqlserver\sqljdbc4\4.2\sqljdbc4-4.2.jar


위 폴더 구조는 "groupId" / "artifactId" / "version" / "artifactId"-"version".jar 이런 규칙으로 생성됩니다. 




반응형

+ Recent posts