在 Maven 发布期间跳过 GPG 密钥

Posted

技术标签:

【中文标题】在 Maven 发布期间跳过 GPG 密钥【英文标题】:GPG key skipped during maven release 【发布时间】:2021-08-03 05:48:51 【问题描述】:

我正在按照此处列出的所有说明将我的项目发布到 sonatype 存储库:https://dzone.com/articles/publish-your-artifacts-to-maven-central 但在签署工件期间仍然出现以下错误

[INFO] --- maven-gpg-plugin:3.0.1:sign (sign-artifacts) @ exceptionless-client ---
gpg: skipped "0x9d0e3e1d": No secret key
gpg: signing failed: No secret key
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  42.750 s
[INFO] Finished at: 2021-08-03T10:52:18+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:3.0.1:sign (sign-artifacts) on project exceptionless-client: Exit code: 2 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please rezad the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

当我运行gpg --list-key 命令时,我可以看到列出的密钥。

【问题讨论】:

【参考方案1】:

我使用 git bash 生成新密钥,但我不知道 git bash 还附带一个捆绑的 gpg 程序并且它正在使用它。然而,maven-gpg-plugin 试图使用安装在C:/Program Files(x86) 下的 gpg 程序来查找密钥。在我使用它创建密钥后,我安装它工作得很好。

【讨论】:

以上是关于在 Maven 发布期间跳过 GPG 密钥的主要内容,如果未能解决你的问题,请参考以下文章

无法从密钥环文件 secring.gpg 中检索密钥,因为它不存在

使用 Maven 发布插件时避免 gpg 签名提示

在 Maven 构建期间跳过子模块

Maven发布自己项目到maven中央仓库

Maven发布自己项目到maven中央仓库

获取 GPG 公钥的密钥签名/指纹