发布项目到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里,依次点击CloseRelease
    发布项目到maven中央仓库(Mac环境)
  • 如下图发布成功,发布成功后会有邮件通知,大概2小时后就可以在maven公共仓库搜索到项目了
    发布项目到maven中央仓库(Mac环境)