maven 로컬 저장소 셋팅

2016-03-21
블로그 UI가 개편중입니다. 참고해주세요.

java에서 maven을 이용한 build 시스템을 만들다보면 로컬 저장소를 만들어야 할 경우가 있다. 만약 프로젝트 경로를 D:\workspace\application로 잡은 상태에서 안에 tmp-repo를 만들었다면, 아래와 같이 pom.xml에 추가해주면 로컬 저장소를 이용할 수 있다.

<repositories>
	<!-- local -->
	<repository>
		<id>local-repo</id>
		<name>local Repository</name>
		<url>file://${project.basedir}/tmp-repo</url>
	</repository>
</repositories>

file://${project.basedir}/tmp-repo은 치환되어 file://D:/workspace/application/tmp-repo가 된다. 후에 필요한 jar를 아래와 같이 dependency로 추가한다. 아래의 예제는 ojdbc6를 예로 들었다.

<dependencies>
	<dependency>
		<groupId>com.oracle</groupId>
		<artifactId>ojdbc6</artifactId>
		<version>11.2.0.4</version>
	</dependency>
</dependencies>

jar의 실제 물리경로는 D:/workspace/application/tmp-repo/com/oracle/ojdbc6/11.2.0.4 폴더여야한다.

만약 이 임시 repository가 jenkins 안에서도 제대로 작동하고 싶다면 추가적으로 아래의 repository도 적어주도록 한다.

<repositories>
	<!-- jenkins -->
	<repository>
		<id>jenkins-repo</id>
		<name>jenkins Repository</name>
		<url>file://${user.dir}/tmp-repo</url>
	</repository>
</repositories>

${user.dir}는 java가 제공해주는 env(환경변수)로써 jenkins의 현재 working directory로 치환되어 임시 저장소를 제대로 참조해 줄 수 있도록 도와준다. 만약 위의 환경변수가 jenkins에서 제대로 동작하지 않는다면 아래를 참고해서 수정하여 쓰면 된다.

Prev
Next

Tags

java maven

java proxy pattern (프록시 패턴)

프록시는 실제로 액션을 취하는 객체를 대신해서 대리자 역활을 해준다. 프록시 패턴을 사용하게 되면 프록시 단계에서 권한을 부여할 수 있는 이점이 생기고 필요에 따라 객체를 생성시키거나 사용하기 때문에 메모리를 절약할 수 있는 이점도 생긴다. 프록시 패턴이 하는 일은 한마디로 자신이 보호하고...

java composite pattern (컴포지트 패턴)

컴포지트 패턴이란 클래스의 구조적 디자인 패턴으로 단일 객체와 복합 객체를 동일하게 컨트롤 할 수 있게끔 도와주는 패턴이다. 컴포지트 패턴은 아래와 같이 3가지의 요소에 의해 이루어진다. base component base component는 composition(구성자)을 위한 인터페이스로 구성된다. 클라이언트 클래스에서는 base component의 인터페이스를 사용하여 작업하게...

java adapter pattern (어뎁터 패턴)

adapter pattern은 관계가 없는 인터페이스들이 같이 일할 수 있도록 도와주는 디자인 패턴이다. 이 두 인터페이스를 이어주는 인터페이스를 adapter라 부른다. 아래 예제를 보면서 이해해보도록하자. volt class public class Volt { private int volts; public Volt(int v) { this.volts = v; }...

java builder pattern (빌더 패턴)

bulider pattern은 창조적 디자인 패턴이며 이것은 factory pattern 또는 abstract factory pattern과 매우 비슷하다. 이 패턴에 들어가기 전에 factory pattern과 abstract factory pattern들의 문제점(수 많은 attributes을 사용해야 패턴을 사용할 수 있는 점)에 대해 먼저 알아보자. factory pattern과 abstract factory pattern에는...