0%

发布项目到Maven中央仓库无法通过gpg认证的问题

笔者从2017年开始陆陆续续在Maven中央仓库发布了15+个项目,但是今天对旧项目进行版本更新的过程中发现一样的代码,却死活无法通过Maven的gpg认证,一直卡死在operation time out这个问题上,研究了三个小时,终于解决。

关于如何在Maven中央仓库上发布项目,各位看官可以参考我的这两篇博客:

问题产生原因

发布项目到Maven中央仓库无法通过gpg认证,其实跟代码没有关系,问题出现在自己的gpg密钥对上(花了3个小时买来的教训)

我们生成gpg密钥对,仅仅是将公钥发布到线上服务器,私钥仍然是保存在本地的,也许很多人对此就没有再深究过,而忽视了密钥对本身是有使用期限的,没错,使用期限,而且这个期限默认是在两年以内…

那么我2017年生成的密钥对,到了2019年如果继续使用的话,就会产生死活无法通过gpg认证的问题

解决办法

  • 删除旧的密钥对,在命令行中输入以下命令删除

    1
    gpg --delete-secret-key liumapp

    这里的liumapp是我个人在生成密钥对时,所设置的姓名

    可能有人会问,那么发布到线上服务器的公钥如何删除呢?很抱歉,我不知道,装作看不见好了

    当然,也不要因为这个,就想偷懒不发布新生成密钥对的公钥,这样做的话发布项目到Maven中央仓库的时候,会报找不到公钥的异常(不要问我是怎么知道的…)

  • 重新生成新的密钥对,并发布即可

    具体方法各位可以参考我的这篇博客:

    gpg的安装使用

总结

希望可以帮到遇到同样问题的伙伴 ^ - ^

转载请申明出处,感谢