Artifact 를 local repository에 배포하기
배포
라이브러리를 만들어서 여러 프로젝트에 활용하고 싶은데, 일일이 파일을 복사하기 귀찮고, 중앙 저장소나, 팀 저장소에 올리기엔 좀 오버인것 같으면 로컬 저장소에 배포해서 자기 컴퓨터에서 써먹는 방법이 있다.
메이븐 플러그인중 install 플러그인을 사용하면 된다. goal은 다음과 같이 지정하면 된다.
mvn install:install-file -Dfile={path/to/my/artifact.jar} -DgroupId=myGroupID -DartifactId=artifact.jar -Dversion=1.2.3 -Dpackaging=jar
매번 배포할때마다 goal을 지정하는 것이 번거롭기때문에, POM을 통해서 설정하는 것이 낫다.
<project>
...
<properties>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>${project.packaging}</packaging>
<file>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</file>
</properties>
</project>
이렇게 설정하면 -Dparameter 에 각 property가 자동매칭되어 편하다.
사용
보통 아티팩트처럼 라이브러리를 사용하고 싶은 프로젝트에서 POM.xml 의 dependencies 에 설정하면 된다.
<dependencies>
<dependency>
<groupId>my.group</groupId>
<artifactId>my-artifact</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
다만 다른 컴퓨터와 공동작업하는 경우, repository가 공유되지는 않으므로 그런 경우는 nexus 등의 maven repo를 구성해서 활용하는 것이 낫다.
소스코드 출처 : http://stackoverflow.com/questions/9892612/install-file-using-pom-instead-of-commandline