发布项目到maven中央仓库(Mac环境)
安装gpg并生成公钥
- 安装命令 brew install gpg ,预计10分钟左右
- 生成公钥命令 gpg --gen-key,输入姓名、邮箱、密码
- 查看公钥 gpg --list-keys
- 发布公钥
需要发布两个服务器
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 公钥
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 公钥 - 验证公钥是否发布成功
分别验证两个服务器
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 公钥
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 公钥
成功输出预期:
gpg: key 公钥: “姓名值 <邮箱值>” not changed
gpg: Total number processed: 1
gpg: unchanged: 1
申请maven仓库
- 到 sonatype 注册一个账号
- 创建一个问题(如有问题,会在备注里回复,解决后也到备注里回复)
Project: Community Support - Open Source Project Repository Hosting (OSSRH)
Issue Type: New Project
Group Id: 项目group,例如github项目,例如com.github.876415840
Project URL: 项目的github地址,例如https://github.com/876415840/distributed-lock
SCM url: 项目的git地址,例如https://github.com/876415840/distributed-lock.git - 创建存储库(以证明代码仓库所有权)
上面问题创建成功后会得到一个问题编号,例如:OSSRH-60993
在你的代码仓库下创建新的项目,名字为上面的问题编号。例如github:https://github.com/876415840/OSSRH-60993 - 该问题被审批通过后就可以上传项目到maven仓库了,本地setting文件配置用户名/密码,使用sonatype的用户名密码
- 打包时命令 mvn clean deploy
会弹出输入密码框(输入创建公钥时的密码)
如未弹出,执行命令export GPG_TTY=$(tty)
项目需要生成 source、javadoc、asc等文件
发布项目
上面上传完项目,只是私有的,需要再发布一下
- 登录 https://oss.sonatype.org/,账号密码使用之前sonatype的
- 在Staging Repositories里,依次点击Close 、Release
- 如下图发布成功,发布成功后会有邮件通知,大概2小时后就可以在maven公共仓库搜索到项目了