我创建了一个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)
我按照说明at Sonatype生成密钥,然后将其从生成的位置复制到上面列出的位置。我还发布了MIT密钥库的公钥。我的用户目录中的gradle.properties
文件包含与钥匙串相关的以下条目:
signing.keyId=MY_KEY_ID
signing.password=MY_KEY_PASSWORD
signing.secretKeyRingFile=C:\\Users\\ideal\\pubring.gpg
这是在Windows平台上。我已经尝试搜索错误消息,但唯一出现的是相关插件的源文件。
答案 0 :(得分:34)
Linux crti-test-vps 4.4.0-28-generic #47~14.04.1-Ubuntu SMP Fri Jun 24 16:30:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
文件已为removed in GPG 2.1。
但是,GPG仍然可以创建这样的文件:secring.gpg
专家提示:如果Gradle的gpg --export-secret-keys -o secring.gpg
抱怨signing plugin
中的密钥太长,您肯定会使用40个字符的指纹,但被要求提供8个字符ID。你有两个选择:
您可以configure GPG通过设置signing.keyId=MY_KEY_ID
选项来显示8个字符ID而不是指纹。
keyid-format
(谢谢tjheslin1!)尝试40个字符指纹的最后8位数字。这适用于懒惰的开发人员; - )
答案 1 :(得分:11)
问题是您正在使用公钥,切换到密钥,通常名为“secring.gpg”。 所以在你的情况下它应该放在
C:\用户\理想\ secring.gpg
答案 2 :(得分:0)
在GPG 2.1和更高版本中可能不需要“ secring.gpg”文件,并且可以使用以下命令生成该文件: “ gpg --export-secret-keys -o \ dir \ secring.gpg”