当你有个很好的想法, 写了一个开源的项目,想发布到maven公共仓库给别人用的时候, 你可能就需要这篇教程。
整个教程分三篇博客讲解
- 第一篇: 注册账号和提交申请
- 第二篇: 安装gpg和配置pom.xml文件
- 第三篇:打包上传发布(敬请期待)
目录
申请账号
打开网址: https://issues.sonatype.org/secure/Dashboard.jspa
这个网址打开会有点慢, 如果不能打开就需要一些科技了。 毕竟国外的网络只能这样。 因为我已经注册了账号并记住密码了, 所以图中账号密码自动填写了。
注册账号
点击sign up 链接会跳转到注册信息填写页面
- email 邮箱地址, 很重要, 后面会用来接收邮件。 我填写了自己的qq邮箱
- full name 你的全名, 你可以填写自己的英文名。
- username 用户名
- password 密码必须符合规则. 规则比较复杂, 我是使用LastPass插件自动生成的。这个插件强烈推荐, 我的所有账号密码都记录在这个插件.
注册要求的密码规则十分复杂,按照提示设置后, 还需要拿个本子记下来, 因为后买会用到这个密码
注册成功后会出来下面的页面。 同时也会往你的注册邮箱里面发送一份邮件。如果密码忘记了可以通过邮箱找回密码
注册成功后再次点开开始的页面, 填写刚刚注册的账号密码登录。
登录成功后会进入上图所示的页面。 说明注册成功了, 就可以进行下一步了。
提交申请
上面的操作已经注册账号成功了, 并且登录进去了, 此时点击登录进入页面的正上方的create 按钮。 出现下图所示页面
图中每项说明:
- Project 如果是发布开源包给其他使用, 选择
Community Support - Open Source Project Repository Hosting (OSSRH)
- Issue Type 选择
New Project
- suumary 填写发布包的简介
- Description 填写说明。 可不填
- Attachment 可不填
- Group Id 填写你的包的group id。 你的包的group id 不要随便命名, 后面会需要验证这个的。 我是因为有自己的域名 xiezc.xyz, 所以我的包的group id都是使用的xyz.xiezc作为group id的。
- Project URL 你的项目的源码地址, 填写的项目的github地址就可。
- SCM ur 填写你的github项目的git url。 记住是git clone的url,带
.git
后缀的url。 - Username 可以不用填。
- Already Synced to Central 选择None
上面的填完后提交, 会创建一个issues。 找到这个issues后点开如下图所示。
注意图中的下面的红框,maven仓库的管理员会通过Comments来告诉你下一步如何做的,并且同时也会发送邮件到你邮箱通知你。 图中红框中管理员给我的指示是:
我的 group id 使用xyz.xiezc,他要我来证明这个域名是我自己的, 给了我两种证明的方法,
- 在域名下增加txt类型的DNS解析记录来执行这个issues 。
- 设置域名重定向到你的github页面,前提是这个域名之前没有这样做过。
如果你group id使用的是你的github地址 com.github.yourname. 则是另外一种验证方式, 需要你在新建一个github空白仓库, 仓库名称就是你的issue的编号, 按照上图中就是 OSSRH-57801
。 并且在下面的comment中告知管理员, 管理员回去验证的。
验证你的group id
我选择了第一种方式: 增加DNS解析记录。
图中是我的阿里云页面增加的解析记录。
然后再在之前创建的issue中增加comment 评论。
图中我告知管理员我增加了DNS的TXT解析记录。 并告知了验证方式。 管理员很快回复了我, 并告知我审核通过了,我可以上传快照版本到https://oss.sonatype.org/content/repositories/snapshots
地址,上传发布版本到https://oss.sonatype.org/service/local/staging/deploy/maven2
地址了.
central-ossrhCentral OSSRH added a comment - 2 days ago
xyz.xiezc has been prepared, now user(s) xiezc can:
Deploy snapshot artifacts into repository https://oss.sonatype.org/content/repositories/snapshots
Deploy release artifacts into the staging repository https://oss.sonatype.org/service/local/staging/deploy/maven2
Release staged artifacts into repository 'Releases'
please comment on this ticket when you promoted your first release, thanks
到这里注册账号, 提交申请已经完成了, 接下来就是打包签名和上传发布了。 剩下的步骤我会留在下篇博客中讲述。
GPG签名使用
下篇博客讲解
打包注意事项
下篇博客讲解
上传发布
下篇博客讲解