Page tree
Skip to end of metadata
Go to start of metadata

maven을 사용하다보면 외부 라이브러리를 사용하는 경우가 있다. nexus와 같은 내부 저장소를 사용하면 괜찮지만 그렇지 않을 경우에는 로컬 저장소에 직접 라이브러리를 배포해야 한다. 라이브러리를 배포할 때 소스 코드까지 포함할 경우 개발하면서 소스 코드를 직접 확인할 수 있어 편리하다.

maven 로컬 저장소에 라이브러리를 배포하는 플러그인은 install 플러그인이다. 자세한 사용 방법은 http://maven.apache.org/plugins/maven-install-plugin/usage.html에서 참고할 수 있다.

mvn install:install-file -Dfile=your-artifact-1.0.jar \
                         [-DpomFile=your-pom.xml] \
                         [-Dsources=src.jar] \
                         [-Djavadoc=apidocs.jar] \
                         [-DgroupId=org.some.group] \
                         [-DartifactId=your-artifact] \
                         [-Dversion=1.0] \
                         [-Dpackaging=jar] \
                         [-Dclassifier=sources] \
                         [-DgeneratePom=true] \
                         [-DcreateChecksum=true]

jar 라이브러리만 배포하는 것은 쉽게 해결했는데 소스 코드까지 첨부하고 eclipse에서 이 소스 코드를 참고하도록 하는데 좀 시간이 걸렸다. eclipse에서 소스 코드를 참고하는 방법은 이미 사용하고 있었는데 로컬 저장소에 배포하는 방법을 찾지 못해서 고생 좀 했다. 근데 위 명령을 보니 옵션으로 sources 항목이 있네. 어제는 아무리 찾아도 보이지 않더니 오늘 아침 출근하니까 바로 보이네. 역시 가끔은 쉬어줘야 한다는 것을 느끼는 하루였다.

call mvn install:install-file  -Dfile=org.eclipse.mylyn.wikitext.core_1.7.0.I20120625-0903.jar -Dsources=org.eclipse.mylyn.wikitext.core_1.7.0.I20120625-0903-source.jar -DgroupId=org.eclipse.mylyn.wikitext -DartifactId=core -Dversion=1.7.0 -Dpackaging=jar

위 명령을 bat 파일로 만들어 적용하고 mvn ecilpse:clean eclipse:eclipse 실행했더니 쉽게 해결했다.

  • No labels