02 December 2015

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



blog comments powered by Disqus
처음으로