使用Gradle发布构件(Jar)到Maven中央仓库

OSSRH

在开始之前,先对OSSRH做下了解是很必要的,因为一开始,我并不知道这是个啥玩儿意。我想和我一样的人应该还是有很多的。

OSSRHSonatype Open Source Software Repository Hosting Service,为开源软件提供maven仓库托管服务。你可以在上面部署snapshot、release等,最后你可以申请把你的release同步到Maven Central RepositoryMaven中央仓库)。

个人的理解,OSSRHMaven中央仓库的前置审批仓库,只有你完全符合了发布要求,成功的将你的项目发布到了OSSRH,才有机会申请同步到Maven中央仓库

这篇主要是记录这整个流程,方便以后自己查阅,同时可以帮助到想做同样事情的朋友。

1、注册Sonatype JIRA账号

JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。

网址:https://issues.sonatype.org/

无非就是填写下注册信息,没有什么特别的

2、创建一个Issue

填写资料

可以在头部看到一个Create的按钮

使用Gradle发布构件(Jar)到Maven中央仓库

会弹出Create Issue表单

使用Gradle发布构件(Jar)到Maven中央仓库

  • Project:选择Community Support - Open Source Project Repository Hosting (OSSRH)
  • Issue Type:选择New Project
  • Summary:写个标题做个简单概述你要做啥。真不知道写什么,直接把项目名称写上就行,我就这么干了哈。
  • Group Id

    • 自己有域名
      可以使用子域名作为Group Id 。例:我的项目叫paladin2,那么就用org.zhangxiao.paladin2作为Group Id

      注意:不能瞎编一个,因为后面审核人员会来审核你是否是该域名的拥有者
    • 自己没域名
      可以借助github,例:我的用户名为michaelzx,那么就用com.github.michaelzx.paladin2作为作为Group Id
  • Project URL:要与Group Id一定关联性

    • 例1:
      Project URL=http://paladin2.zhangxiao.org
      Group Id=org.zhangxiao.paladin2
    • 例2:
      Project URL=https://github.com/michaelzx/Paladin2
      Group Id=com.github.michaelzx.paladin
  • SCM url:版本仓库的拉取地址

等待回复

如果有问题,老外在评论中把问题给你指出来,可以在原有的issue把资料改正确

我之前是犯了个低级的错误把Group Id写成了域名
审核人员要处理的issue很多,你可能要耐心等待一会,不要急
我之前急了,就重新提交了2个新的issue,最后管理员还是耐心的把重复的issue关闭

如果一切顺利,那么你会收到审核人员,这样的一个评论:

使用Gradle发布构件(Jar)到Maven中央仓库

3、准备工作

文件要求

为了确保中央存储库中可用组件的质量水平,OSSRH对提交的文件有明确的要求。

一个基础的提交,应该包含一下文件:

example-application-1.4.7.pom
example-application-1.4.7.pom.asc
example-application-1.4.7.jar
example-application-1.4.7.jar.asc
example-application-1.4.7-sources.jar
example-application-1.4.7-sources.jar.asc
example-application-1.4.7-javadoc.jar
example-application-1.4.7-javadoc.jar.asc
  • 除了jar包和pom文件,JavadocSources是必须的,后面会说到用Gradle的一些插件来生成
  • 每个文件都有一个对应的asc文件,这是GPG签名文件,可以用于校验文件

GPG

安装

说明:后续过程均在OSX环境下

OSX下可以通过brew来安装GPG命令行工具

$ brew update
$ brew install -v gpg

你会发现从brewGPG命令行工具,做了国际化支持,连help都是中文,赞

相关推荐