GPG 使用 Maven 签名后发送到中央仓库提示 Upload your public key and try the operation

在本地使用 GPG 签名需要发布的包后进行上传到中央 Maven 仓库。

提示错误:

[ERROR]     * No public key: Key with id: (1e5cbef8b550fb7d) was not able to be located on <a href=http://keys.openpgp.org:11371/>http://keys.openpgp.org:11371/</a>. Upload your public key and try the operation again.
[ERROR]     * No public key: Key with id: (1e5cbef8b550fb7d) was not able to be located on <a href=http://keys.gnupg.net:11371/>http://keys.gnupg.net:11371/</a>. Upload your public key and try the operation again.
[ERROR]     * No public key: Key with id: (1e5cbef8b550fb7d) was not able to be located on <a href=http://pool.sks-keyservers.net:11371/>http://pool.sks-keyservers.net:11371/</a>. Upload your public key and try the opera
tion again.

gpg-key-01

错误原因和解决办法

出现上面的错误的原因是你本地使用 GPG 签名了,但是你的公钥没有上传到服务器上。

这将导致你签名没有办法被使用。

解决办法就是将你的公钥上传上去。

登录: https://keys.openpgp.org 网站

输入你的签名的电子邮件地址进行校验。

gpg-key-02

如果你的公钥已经上传的话,当你输入你的邮件地址,你将会看到下面的提示,表示的是用户电子邮件地址已经被找到了。

gpg-key-03

如果提示如下,表示的是你的邮件地址没有找到,你需要将你的公钥上传。

gpg-key-04

如果你使用的是 Window 的环境,相信在创建 GPG 的时候,你已经安装了Kleopatra,你可以运行 Kleopatra。

然后找到你的秘钥。

右键选择导出。

gpg-key-05

将这个导出文件保存后,再次返回 https://keys.openpgp.org/ 网站,

选择 上传。

gpg-key-06

然后选择上一步导出的文件,单击上传

gpg-key-07

请注意,当你上传成功后,系统会向你的秘钥中的邮件地址发送一个电子邮件过去。

在这个电子邮件中包含有一个链接,你需要单击链接确定后才会完成上传。

gpg-key-08

当完成所有操作后,刷新浏览器,然后使用你的电子邮件进行搜索。

如果你能够和第一步一样搜索到数据,那么说明你的公钥已经上传上去了。

重新运行 Maven

随后再在项目中运行 mvn clean deploy,需要耐心等待一些时间。

等最后你应该可以看到部署成功,并且签名什么的不会有什么问题了。

gpg-key-09

如上图提示的部署成功的 Maven 界面。