[백업][가리사니] 로컬 디스크의 jar를 메이븐에 포함하기
java, maven

이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.

1. 로컬 파일로 포함하기 (스코프 시스템)

pom.xml 의 dependencys 에 아래와 같이 추가해줍니다.

<dependency>
    <groupId>그룹ID</groupId>
    <artifactId>아티펙트ID</artifactId>
    <version>버전</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/saro.jar</systemPath>
</dependency>

위와 같이 입력하셨다면 프로젝트경로/lib/saro.jar 가 추가됩니다. 하지만 이 방법은 문제점이 하나 있습니다. 문제점

  • 메이븐 dependency jar 를 포함하여 빌드하기
  • 위 링크처럼 식으로 jar를 포함하여 빌드한다면 스코프가 system 이라 포함되지 않습니다. 그럴경우 아래 2번 리포지토리 등록을 통한 포함을 참고해주시기 바랍니다.

2. 리포지토리를 통하여 포함하기

pom.xml 에 아래와 같이 리포지토리를 추가해줍니다.

<repositories>
	<repository>
		<!-- id나 name은 아무거나 설정하시면됩니다. -->
		<id>프로젝트아이디</id>
		<name>이름</name>
		<!-- 정확히 말하면 url을 등록하는겁니다. ${basedir}는 현재경로 -->
		<url>file://${basedir}/lib</url>
	</repository>
</repositories>

위와 같이 적으면 file://${basedir}/lib 즉 프로젝트경로/lib를 리포지토리로 설정하는 것입니다. 이것을 공유하고싶다면 웹에올리고 주소를 작성하는 방법도 있습니다. 즉, URL 형태를 가지고 있기 때문에 http나 ftp 등에도 활용할 수 있습니다. pom.xml 에 dependencies 내에 추가해줍니다.

<dependency>
	<groupId>그룹ID</groupId>
	<artifactId>아이팩트ID</artifactId>
	<version>버전</version>
</dependency>

예를들어 아래와 같이 작성하면

<dependency>
	<groupId>SARO</groupId>
	<artifactId>SARO_MOE</artifactId>
	<version>2.3.1</version>
</dependency>

맨위 추가된 file://${basedir}/lib 에 따라 프로젝트경로/lib/SARO/SARO_MOE/2.3.1/SARO_MOE-2.3.1.jar 가 자동으로 추가됩니다.