Maven 将工件部署到 Nexus 存储库失败,并出现 gpg 密钥丢失错误
Maven deploy artifact to nexus repository is failing with gpg key missing errors
我正在尝试将我的本地工件部署到 nexus 暂存存储库中,但任务失败并出现以下错误。
gpg: no default secret key: No secret key
gpg: signing failed: No secret key
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.886 s
[INFO] Finished at: 2021-06-14T14:12:29+05:30
[INFO] -----------------------------------------
我遵循的步骤。
- 我已经使用 brew 安装了
gpg
。
- gpg 版本是
gpg (GnuPG) 2.3.1
libgcrypt 1.9.3
- 我已将 setting.xml 添加到
.m2
目录路径 - ~/.m2/settings.xml
- 这是我的
settings.xml file
<settings>
<servers>
<server>
<id>ossrh</id>
<username>$name</username>
<password>$password</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>$passphrase</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
我已经使用 gpg --import file.asc
导入了 .asc
文件
当我执行 运行 gpg --list-keys
命令时,我能够看到 pub
、uid
和 sub
键值.
我目前的mvn版本是Apache Maven 3.6.3
我已经用以下值更新了我的项目模块 pom.xml
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>deploy</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<!-- This is necessary for gpg to not try to use the pinentry programs -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
你能请别人帮忙看看我的配置有什么问题吗?为什么我收到 no default secret key: No secret key
错误?
我已经提到了这个问题,但仍然没有成功
How to deal with Gnupg error: gpg: no default secret key: No secret key gpg: [stdin]: clearsign failed: No secret key?
当我尝试列出机密时,它没有显示我的机密 gpg --list-secret
。
实际上,当我尝试使用 gpg --list-keys
列出键时,它显示的是值。我假设 ASC 文件导入正常,没有任何问题。
但实际上,它没有正确导入ASC文件,我在导入ASC文件时漏掉了输入密码的一步。我是通过执行 gpg --list-secret
命令才知道的。
当您执行 gpg --list-secret
& gpg --list-keys
命令时,它应该显示值,然后只有 ASC 文件被正确导入。
我正在尝试将我的本地工件部署到 nexus 暂存存储库中,但任务失败并出现以下错误。
gpg: no default secret key: No secret key
gpg: signing failed: No secret key
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.886 s
[INFO] Finished at: 2021-06-14T14:12:29+05:30
[INFO] -----------------------------------------
我遵循的步骤。
- 我已经使用 brew 安装了
gpg
。 - gpg 版本是
gpg (GnuPG) 2.3.1 libgcrypt 1.9.3
- 我已将 setting.xml 添加到
.m2
目录路径 -~/.m2/settings.xml
- 这是我的
settings.xml file
<settings>
<servers>
<server>
<id>ossrh</id>
<username>$name</username>
<password>$password</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.passphrase>$passphrase</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
我已经使用
导入了gpg --import file.asc
.asc
文件当我执行 运行
gpg --list-keys
命令时,我能够看到pub
、uid
和sub
键值.我目前的mvn版本是
Apache Maven 3.6.3
我已经用以下值更新了我的项目模块 pom.xml
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>deploy</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<!-- This is necessary for gpg to not try to use the pinentry programs -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
你能请别人帮忙看看我的配置有什么问题吗?为什么我收到 no default secret key: No secret key
错误?
我已经提到了这个问题,但仍然没有成功
How to deal with Gnupg error: gpg: no default secret key: No secret key gpg: [stdin]: clearsign failed: No secret key?
当我尝试列出机密时,它没有显示我的机密 gpg --list-secret
。
实际上,当我尝试使用 gpg --list-keys
列出键时,它显示的是值。我假设 ASC 文件导入正常,没有任何问题。
但实际上,它没有正确导入ASC文件,我在导入ASC文件时漏掉了输入密码的一步。我是通过执行 gpg --list-secret
命令才知道的。
当您执行 gpg --list-secret
& gpg --list-keys
命令时,它应该显示值,然后只有 ASC 文件被正确导入。