Gradle uploadArchives任务无法读取密钥

mbzjlibv  于 2023-03-30  发布在  Hive
关注(0)|答案(3)|浏览(197)

我已经创建了一个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平台上。我试着搜索错误信息,但唯一出现的是相关插件的源文件。

svgewumm

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而不是指纹。
  • a)在CLI上显式定义此选项:gpg --list-keys --keyid-format short(感谢tjheslin 1!)
  • B)或通过options file隐式激活此选项(默认位置为~/.gnupg/gpg.conf)。
  • 试试你的40个字符指纹的最后8位数字。- )
3zwjbxry

3zwjbxry2#

问题是您使用的是公钥,切换到通常名为“secring.gpg”的私钥
C:\Users\ideal\secring.gpg

cunj1qz1

cunj1qz13#

在GPG2.1和更高版本中可能不需要“secring.gpg”文件,可以使用以下命令生成:“gpg --export-secret-keys -o \dir\secring.gpg”

相关问题