好久没在Maven中央仓库发布过jar包了,记录下本次发布过程以备查缺
本次发布一个mapper自动生成的jar,项目地址如下
https://github.com/SirYuxuan/mapper-processor
1. 打开sonatype提交一个issues
https://issues.sonatype.org/secure/Dashboard.jspa
- 首先我们登陆这个网址,没有账号的话可以直接注册,注册过程这里就不多赘述了
- 我们在控制台点击如下按钮弹出创建issues的界面
或者直接打开链接创建
https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134
- 填写如下信息并点击Create创建
这里我就不挨个字段介绍了。
- 创建issues后需要验证域名,这里我的教程是针对拥有独立域名的用户,如果你想使用GitHub的方式,后续我将单独出一篇文章介绍
- 通过添加DNS解析的方式确认域名,添加一个TXT类型的解析,主机记录为Ticket,如:OSSRH-57220,记录值为Ticket的URL地址,如:https://issues.sonatype.org/browse/OSSRH-57220。 操作完在Sonatype界面上将Ticket重新开放,等一段时间会审核通过。
- 配置GPG
- 通过下面的命令生成密钥对,过程中需要输入一个密码,这个密码要记住。
- 如果没有此程序请自行安装,mac下可使用brew进行安装
brew install gpg
- 请输入
gpg --gen-key
按照提示输入用户名和邮箱 - 通过下面的命令查看密钥,并将公钥上传到远程服务器。
- gpg --list-key
- gpg --keyserver keys.openpgp.org --send-keys 73F5B76E4FFCC84C0C4F0A2B5FE22E99BDAFD070
- 配置Maven
- 在setting.xml文件的servers节点下增加一个server节点,配置之前注册的Sonatype的帐号和密码。
- 配置项目的pom.xml
- 需要配置Maven的文档插件、打包插件、gpg验证插件等,参考如下:
-
编译并发布到Maven中央仓库
-
在发布前,先使用Sonatype的帐号密码登录一次Nexus Repositories,地址:https://oss.sonatype.org/。
- 使用下面的命令编译并发布:
mvn clean deploy
- 如果提示gpg报错,可能是因为无法弹出输入密码的窗口导致,执行下面的命令后再试一次。
export GPG_TTY=$(tty)
- 使用下面的命令编译并发布:
-
部署流程为 open -> close -> release ,然后会发布到Maven中央仓库。可以到https://oss.sonatype.org/暂存库(Staging Repositories)查看处理过程,如果已经Release,则暂存库中可能找不到,直接通过项目信息搜索来查找。
-
项目发布成功后,到Sonatype将之前的Ticket关闭。
-
查看项目
评论区