我已经创建了一个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平台上。我试着搜索错误信息,但唯一出现的是相关插件的源文件。
3条答案
按热度按时间svgewumm1#
secring.gpg
文件已在GPG 2.1中删除。但是,GPG仍然可以创建这样的文件:
gpg --export-secret-keys -o secring.gpg
**专业提示:**如果Gradle的
signing plugin
抱怨你在signing.keyId=MY_KEY_ID
中的密钥太长,你当然使用了40个字符的指纹,但应该使用8个字符的ID。你有三个选择:keyid-format
选项将GPG配置为显示8字符ID而不是指纹。gpg --list-keys --keyid-format short
(感谢tjheslin 1!)~/.gnupg/gpg.conf
)。3zwjbxry2#
问题是您使用的是公钥,切换到通常名为“secring.gpg”的私钥
C:\Users\ideal\secring.gpg
cunj1qz13#
在GPG2.1和更高版本中可能不需要“secring.gpg”文件,可以使用以下命令生成:“gpg --export-secret-keys -o \dir\secring.gpg”