Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle uploadArchives任务无法读取密钥_Gradle_Code Signing_Gnupg - Fatal编程技术网

Gradle uploadArchives任务无法读取密钥

Gradle uploadArchives任务无法读取密钥,gradle,code-signing,gnupg,Gradle,Code Signing,Gnupg,我已经创建了一个gradle项目,一切都很好,但是当我尝试上传到Maven存储库时,我得到了以下gradle错误: FAILURE: Build failed with an exception. * What went wrong: Could not evaluate onlyIf predicate for task ':library:signArchives'. > Unable to read secret key from file: C:\Users\ideal\pubr

我已经创建了一个gradle项目,一切都很好,但是当我尝试上传到Maven存储库时,我得到了以下gradle错误:

FAILURE: Build failed with an exception.

* What went wrong:
Could not evaluate onlyIf predicate for task ':library:signArchives'.
> Unable to read secret key from file: C:\Users\ideal\pubring.gpg (it may not be a PGP secret key ring)
我按照说明生成密钥,然后将其从生成位置复制到上面列出的位置。我还将公钥发布到MITs密钥存储库。我的用户目录中的
gradle.properties
文件包含以下与钥匙链相关的条目:

signing.keyId=MY_KEY_ID
signing.password=MY_KEY_PASSWORD
signing.secretKeyRingFile=C:\\Users\\ideal\\pubring.gpg

这是在Windows平台上。我已尝试搜索错误消息,但出现的唯一问题是相关插件的源文件。

问题是您使用的是公钥,请切换到通常名为“secring.gpg”的密钥。 所以在你的情况下,它应该放在

C:\Users\ideal\secring.gpg


secring.gpg
文件已被删除

但是,GPG仍然可以创建这样一个文件:
GPG--export secret keys-o secring.GPG

专业提示:如果Gradle的
签名插件
抱怨您在
签名中的密钥太长,那么您肯定使用了40个字符的指纹,但需要8个字符的ID。您有三个选择:

  • 您可以通过设置
    keyid format
    选项来显示8字符的ID而不是指纹

    • 在CLI上显式定义此选项:
      gpg--list key--keyid format short
      (感谢tjheslin1!)
    • 或者通过隐式激活此选项(默认位置为
      ~/.gnupg/gpg.conf
  • 试试你40个字符指纹的最后8个数字。这是为懒惰的开发人员准备的;-)

  • gpg 2.1及更高版本中可能不需要“secring.gpg”文件,可以使用以下命令生成:
    “gpg——导出密钥-o\dir\secring.gpg”

    谢谢您!挣扎了很长一段时间,但最终在你的帮助下取得了进步。我的问题是关键长度。运行
    gpg2--list key--keyid format short
    是我所需要的。谢谢@tjheslin1!我刚刚添加了您的输入:-)这应该是可以接受的答案。另一个没用。