프로그래밍/Maven

Maven Central에 Library Upload하기!!

AkaGeun 2017. 2. 21. 22:44

1. 개요

 - 개인 라이브러리를 메이븐 중앙 저장소에 올려, 다른 사람들과 손쉽게 공유할 수 있도록 한다.

 - https://bintray.com 와 같은 대행 서비스가 있다.

 - 저장소 관리 솔루션인 sonatype nexus 사에서 제공하는 OSSRH(Open Source Project Repository Hosting)가 있다. 이걸로 업로드 진행 할 예정.


2. 사전 작업

 1) 계정 생성

  - https://issues.sonatype.org/secure/Signup!default.jspa 에 접속한다.

  - 계정을 생성하고, 이슈를 등록한다.

  - "CREATE"를 눌러 이슈를 생성한다.

  - https://issues.sonatype.org/browse/OSSRH-28348 와 같이 입력한다. (project 이름, group Id, url 등 입력)

  - 생성 후 몇시간 또는 며칠이 지나면 이슈 상태가 "Resolved"로 변경되면, 댓글을 달아준다. 그럼 배포 준비 끝


 2) pom.xml 작업하기.

  - 저장소(scm), 개발자정보(), 라이센스 등 필수



 3) $HOME/.m2/settings.xml 에 아래 텍스트 추가


 

 4) snapshot deploy

  - version 항목에 -SNAPSHOT 붙인다.

mvn clean deploy


  - https://oss.sonatype.org/content/repositories/snapshots 에 본인 groupId를 들어가보면 확인 할 수 있다.


3. PGP 등록 및 Signing 하기

 - Maven 프로젝트 각각의 보안을 위해 PGP라는 정보를 통해 확인


 1) PGP 생성

  - https://www.gnupg.org/download/index.html 에서 제공하는 툴로 생성


 2) PGP 등록하기

  - 생성한 키는 http://pgp.mit.edu/ 사이트에 등록해야한다. 일부 툴은 업로드도 제공해준다.


4. 배포하기

mvn clean deploy


5. 스테이징에서 릴리즈하기

 - https://oss.sonatype.org/#welcome 에 접속하여 로그인한다.

 - Staging Repositories 에서 본인 프로젝트 확인

 - 내용 확인 후 "Close" 문제가 없으면 "Release"버튼 활성화 됨.


 - "Release"를 누르면 끝!


6. 확인

 - 10분정도 후에 릴리즈 되고

 - 2시간 정도 후면 검색이 됨.

 - http://search.maven.org/ 


7. 참고자료

 - https://www.lesstif.com/pages/viewpage.action?pageId=30277671

 - http://zerobrain.tistory.com/53

 - http://central.sonatype.org/pages/ossrh-guide.html

 - http://stackoverflow.com/questions/23235892/how-long-does-sonatype-staging-take-to-sync-my-artifacts-with-maven-central

 - https://www.youtube.com/watch?v=dXR4pJ_zS-0&feature=youtu.be