메이븐으로 원격 저장소에 라이브러리 배포하기
팀에서 사용하는 공통의 메이븐 저장소에 jar 파일을 패키징해서 올려야 다른 PC에 있는 사람들도 해당 프로젝트를 다운받아서 다른 패키지의 라이브러리로 이용할 수 있습니다. 그러려면 배포를 해야죠. 배포 방법은 간단합니다.
mvn deploy
depoly는 라이프싸이클의 거의 끝자락인지 완전 끝인지.. 그 쯤에 있습니다. 그래서 컴파일 부터 테스트까지 모든 과정을 통과하고 로컬에도 배포하고 원격에 최종적으로 배폴르 합니다. 물론 그렇게 흘러가다 하나라도 잘 못되면 원격에 배포가 되지 않습니다.
배포할 원격 저장소를 설정해야합니다. 원격 저장소 설정은 pom.xml에서 합니다.
m2eclipse 플러긴을 쓰면 pom 편집기에서 간ㄷ나하게 등록할 수 있습니다. 캬~ m2eclipse가 q4e를 물리친 것 같네요. 하지만 전 왠지.. 그냥 pom.xml을 편집하는게 편하더군요.
<distributionManagement>
<repository>
<id>release</id>
<url>http://www.opensprout.org:8082/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://www.opensprout.org:8082/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<repository>
<id>release</id>
<url>http://www.opensprout.org:8082/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://www.opensprout.org:8082/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
이런식으로 직접 pom.xml에 등록해도 됩니다.
그리고 해당 저장소에 로긴할 수 있는 id를 settings.xml에 설정합니다. 이 파일은 로컬 리파지토리 루트에 있습니다. 보통 로컬 리파지토리 루트는 홈계정/.m2 폴더에 들어있습니다. 히든폴더기 때문에 잘 찾아보시기 바랍니다.
<settings>
...
<servers>
<server>
<id>releases</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>snapshots</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>thirdparty</id>
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>
...
</settings>
...
<servers>
<server>
<id>releases</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>snapshots</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>thirdparty</id>
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>
...
</settings>
이런 식으로 등록하면 됩니다. 간단 간단..