发布开源项目到Maven仓库

这个主要看官方教程。OSSRH Guide

1 创建一个帐号

Maven是由Sonatype管理的。那么首先创建一个Sonatype的帐号。
Create your JIRA account

然后再创建一个新的工程的Ticket。
Create a New Project ticket

填好信息即可。

然后就是等和Sonatype的工作人员交流。这个时候,状态会有各种变化,只要不断和Sonatype的工作人交流就可以了,直到到了Resolved状态。Sonatype的工作人员会给你一个这样的Comment

这说明你拿到了工程的Ticket。

2 其他要求

为了保证Maven仓库中项目的质量,Sonatype对上传的项目提出了其他的一些要求。

2.1 应用JavaDoc和源文件

如果是发布的Java工程,那么要求要有相关的JavaDoc。当然还要源文件。其他语言还有其他要求,这个官网中去查看即可。

2.2 GPG来签名

GPG的使用,看官方这个教程:
Working with PGP Signatures

2.2.1 安装GnuPG

这个很简单,也不用官网下载,如果你有homebrew,直接使用homebrew安装就可以了。

2.2.2 生成秘钥对

gpg –gen-key

2.2.3 列出秘钥

gpg –list-keys

可以列出公钥

gpg –list-secret-keys

可以列出私钥

2.2.4 发布公钥

gpg2 –keyserver hkp://pool.sks-keyservers.net –send-keys C6EED57A

C6EED57A是公钥的Id,在之前列出公钥的时候会有它的ID。

3 发布工程

有很多种发布工程的方式,我的是Android,所以我使用Gradle的方式很方便,所以我选择Gradle。

这里可以使用Github上的一个大神的项目就可以了gradle-mvn-push

教程在它的项目下面写的很清楚。但是我把这个放到了本地。

当出现这个的时候就是上传成功了。

然后我们就可以去Staging repository中查看我们项目。点击Staging Repositories,然后就可以找到我们的项目。

之后点击如果确定自己要发布了,那么点击上面的Close,然后点击Release。之后等待Sonatype的工作人员确定,如果可以发布的话,你会收到Sonatype的工作人员的回复通知。然后你就可以在Maven的中央仓库搜索找到你的项目。