无法执行目标org.apache.maven.plugins:maven-gpg-plugin

use*_*061 8 maven jenkins jenkins-plugins

这个错误让我发疯.有人可以帮帮我吗?我确实安装了gpg,它也在PATH中.是什么导致了这个错误!

我在jenkins 1.5上运行这个工作,在linux和windows上运行maven 3.0.3(都显示相同的错误)

[INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.5:sign (default) on project sample: Exit code: 2 -> [Help 1]
    [INFO] [ERROR] 
    [INFO] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [INFO] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [INFO] [ERROR] 
    [INFO] [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [INFO] [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 4:53.571s
    [INFO] Finished at: Fri Aug 14 14:00:36 PDT 2015
    [INFO] Final Memory: 21M/620M
    [INFO] ------------------------------------------------------------------------
    [JENKINS] Archiving /var/lib/jenkins/jobs/sample/workspace/pom.xml to /var/lib/jenkins/jobs/sample/modules/com.sample$sample/builds/2015-08-14_13-55-35/archive/com.sample/sample/1.0.0-SNAPSHOT/sample-1.0.0-SNAPSHOT.pom
    Waiting for Jenkins to finish collecting data
    mavenExecutionResult exceptions not empty
    message : Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) on project sample: Maven execution failed, exit code: '1'
    cause : Maven execution failed, exit code: '1'
    Stack trace : 
    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) on project sample: Maven execution failed, exit code: '1'
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
        at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
        at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
        at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
        at hudson.remoting.UserRequest.perform(UserRequest.java:118)
        at hudson.remoting.UserRequest.perform(UserRequest.java:48)
        at hudson.remoting.Request$2.run(Request.java:326)
        at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: org.apache.maven.plugin.MojoExecutionException: Maven execution failed, exit code: '1'
        at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:281)
        at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:232)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        ... 26 more
    Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Maven execution failed, exit code: '1'
        at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:89)
        at org.apache.maven.shared.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:44)
        at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:234)
        at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:169)
        at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:146)
        at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:107)
        at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:277)
        ... 29 more
    Caused by: org.apache.maven.shared.release.exec.MavenExecutorException: Maven execution failed, exit code: '1'
        at org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:394)
        at org.apache.maven.shared.release.exec.AbstractMavenExecutor.executeGoals(AbstractMavenExecutor.java:110)
        at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:81)
        ... 35 more
    channel stopped
    Archiving artifacts
    An attempt to send an e-mail to empty list of recipients, ignored.
    Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

Ger*_*cke 15

如果您不需要对工件进行签名,则可以禁用或跳过在父pom中定义的gpg插件的执行

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

或运行构建gpg.skip=true(参见Maven GPG插件)

如果您需要对工件进行签名,则应检查父pom中gpg-plugin的配置或覆盖pom中的配置.也许父pom中的某些设置与您的系统环境不匹配,但很难从错误消息中说出来.

  • 我的 Maven 版本构建目标和选项是 -Dresume=falserelease:cleanrelease:preparerelease:perform。我什至尝试了 -Dgpg.skip=true 但没有区别。 (2认同)

KIC*_*KIC 7

这意味着您需要有密钥来签署罐子。按照这个过程直到最后一步就可以了(显然不需要复制到github)

这里总结一下:

  1. 打开 Git Bash
  2. gpg --gen-key#使用默认值 4096 作为密钥大小
  3. gpg --list-secret-keys --keyid-format LONG
  4. (选修的)gpg --armor --export %the key from above%


Wol*_*ahl 5

在夜间 jenkins 构建中从 Ubuntu 16 升级到 Ubuntu 18.04 LTS 后,我遇到了这个问题。

gpg --version
gpg (GnuPG) 2.2.4
Run Code Online (Sandbox Code Playgroud)

首先,我在非 jenkins 环境中检查了同一个项目

mvn install
Run Code Online (Sandbox Code Playgroud)

我收到了消息

gpg: signing failed: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)

这指向我

https://github.com/keybase/keybase-issues/issues/2798

和

https://tutorials.technology/solved_errors/21-gpg-signing-failed-Independent-ioctl-for-device.html

export GPG_TTY=$(tty)
Run Code Online (Sandbox Code Playgroud)

是那里推荐的补救措施。我已将此添加到我的 .profile 并重新启动

mvn install 
Run Code Online (Sandbox Code Playgroud)

测试。这次我被要求通过终端输入 OpenPGP 密钥的密码。通过命令行的第二次运行成功,无需输入密钥。

然后我停止并重新启动 jenkins 并再次尝试失败的工作。这次成功了。

不幸的是,它在启动 xsession 的 jenkins jobx 中仍然不起作用。 http://maven.apache.org/plugins/maven-gpg-plugin/usage.html 明确指出您可以将 gpg.passphrase 放在 settings.xml 中,我已经有效地使用了很长时间。知道我不知道如何恢复这种行为,我只能提供上述解决方法。

另请参阅 使用 Maven 发布插件时避免 gpg 签名提示