maven에 custom jar를 집어넣어 보자.

2018. 3. 6. 18:56Programming/JAVA

IntelliJ 환경에서 build를 하면 별로 고민을 안해도 되지만 리눅스 환경에서 maven build를 해야되는 경우 custom jar 파일을 pom.xml 파일에 추가시켜 줘야 maven build시 인식이 된다.


대략적으로 설명을 하자면, 개인 로컬 repository를 만들고 해당 repository를 pom.xml에 등록한다.

그 후 dependency를 추가해 준다.

이렇게 하면 custom jar 파일을 pom.xml에서 인식할 수 있고 쉽게 maven build를 실행할 수 있다.


개인 로컬 repository는 아래처럼 pom.xml에 추가하자.


<repositories>

   <repository>

      <id>localrepository</id>

      <url>file://${basedir}/repo</url>

    </repository>

<repositories>


url 항목을 보면 jar 라이브러리 파일 경로를 입력하는 것을 확인해 볼 수 있다. basedir은 프로젝트의 가장 최상위 폴더이다. (하위 폴더로 src와 target을 가지고 있다.) 해당 폴더에 repo 폴더를 추가해주자. 

repo 폴더 안에 라이브러리 파일을 넣어 주는데 groupid와 artifactid, 버전 정보를 폴더로 계층화 해서 넣어주자.

예를 들어 groupId가 com.maven이고 artifactId가 test, version이 1.0.0의 라이브러리라면 아래와 같이 폴더를 계층화 하자.


/repo/com/maven/test/1.0.0/test-1.0.0.jar


해당 위치에 라이브러리 파일에 대한 pom.xml 파일로 함께 넣어주자. 파일명은 artifactid-version.jar, artifactid-version.pom 이렇게 바꿔주자.


/repo/com/maven/test/1.0.0/test-1.0.0.pom


이제 개인 로컬 repository 설정은 끝났다. 이젠 pom.xml에 dependency를 추가해 주자.


<dependencies>

  <dependency>

     <groupId>com.maven</groupId>

     <artifactId>test</artifactId>

     <version>1.0.0</version>

  </dependency>

</dependencies>


모든 설정이 끝났다. maven build를 실행해보자.


$> mvn -DskipTest clean compile install


만약에 cache 관련해서 에러가 발생한다면 -U 옵션을 넣어주자.


$> mvn -U -DskipTest clean compile install


  • 프로필사진
    정선생2018.03.13 15:31 신고

    기냥 리파지토리에 lib 폴더 만들어서 jar를 같이 commit 해서 이런식으로 관리하는 방법도 있습니다.

    <dependency>
    <groupId>com.maven</groupId>
    <artifactId>test</artifactId>
    <version>1.0.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/test-1.0.0.jar</systemPath>
    </dependency>