发布 jar 包至 maven 官方中央仓库

当项目准备发布至 maven 中央仓库时,基本上按照官方指南操作就行了。

https://central.sonatype.org/pages/ossrh-guide.html

创建发布需求

在创建问题时需要注意,如果 groupId 选择的是私有域名时,那么管理员会要求验证域名的归属,而对于 github 的子域名则无需验证。

接下来管理员会要求你进行第一次的发布操作,在发布前你需要使用 gpg 创建你的秘钥。

创建秘钥

Mac 下可以通过 brew 下载安装,使用命令 gpg --gen-key 生成,完成后通过 gpg --list-keys 即可查看已创建秘钥。

接下来需要将秘钥发布到远程服务器上,如 gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys <sec_key>,发布后可以使用 gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys <sec_key> 进行验证。

发布项目

发布完成后就可以进行项目的配置了,注意 <gpg.executable>gpg</gpg.executable> 这项配置填写的是你实际操作秘钥的程序。

发布时需要验证秘钥的密码,可以选择添加参数 -Dgpg.passphrase 或者验证时手动输入。

  • 如果发生错误提示 gpg: signing failed: Inappropriate ioctl for device 是由于 gpg 无法在当前终端弹出密码输入页面,执行 export GPG_TTY=$(tty) 以支持弹窗。

如果进行本地安装则可以使用 Dgpg.skip 参数或在 maven-gpg-plugin 插件下增加配置 <configuration><skip>true</skip></configuration> 跳过验证步骤。

验证发布

发布成功后还需要回到需求问题下回复管理员,待管理员回复后一会可在中央仓库查看到自己的项目了。

后续版本的发布则直接进行发布就可以了。