Gradle uploadArchives任务无法读取密钥
我已经创建了一个gradle项目,一切都很好,但是当我尝试上传到Maven存储库时,我得到了以下gradle错误: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
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!我刚刚添加了您的输入:-)这应该是可以接受的答案。另一个没用。