问题标签 [maven-gpg-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1105 浏览

maven - 如何忽略 Apache Maven GPG 插件的错误

我正在使用 Apache Maven GPG 插件 maven-gpg-plugin 生成所需的签名以通过 OSSRH 在 Maven Central 中发布。我在 pom.xml 中的插件定义如下,我的 OSSRH 凭据在 Maven conf/settings.xml 中,一切正常。但是,当另一个开发人员尝试时mvn install,由于他没有安装 GPG,因此对他来说失败了。我想避免安装 GPG 的需要,除了开发人员进行部署,可能通过在构建期间忽略 maven-gpg-plugin 错误或通过任何其他方式,这样我就不需要有两个 pom.xml 一个与插件-in 和另一个没有它。

0 投票
1 回答
3112 浏览

java - 尝试使用 maven 使用 GPG 自动签署文件时出错

我正在尝试将我的项目部署到 maven 中央存储库,但我无法解决 Error:Sources Validation. 我已经安装了 gpg 并查看了说明: 添加 GPG 密钥Apache Maven 签名组件

当我尝试运行时clear deploy -e,出现以下错误:

在我的pom.xml我有下一个设置:

另外,我添加了一些属性到settings.xml

但这无济于事。

我怎么解决这个问题?

0 投票
2 回答
465 浏览

java - 签署 JAR 时防止密码短语请求

我正在尝试设置我的 Maven 构建,以便它自动签署 JAR 而无需手动输入密码但是无论我如何尝试配置maven-gpg-plugin它都会失败或总是要求输入密码。

我已将此页面用作有关如何设置 Maven 的指导settings.xml

上面的环境变量是在环境中设置的。

这个问题maven-gpg-plugin配置我尝试如下设置POM:

但是当我构建时,我收到以下错误: gpg: setting pinentry mode 'loopback' failed: Not supported

我试图添加allow-loopback-pinentry到 gpg-agent.conf 但结果是一样的。如果我<gpgArguments>从 Maven 插件配置中删除 ,则会弹出询问密码的弹出窗口。

我正在使用 gpg2 版本 2.1.11

0 投票
1 回答
913 浏览

maven - 在 maven-gpg-plugin 中使用时如何让 gpg-agent 询问密码

我有几个项目想用 gpg 密钥对生成的工件进行签名。过去我使用 gpg 1.x(即旧版本),在此设置中,我在~/.m2/settings-security.xml.

我不喜欢这样(但当时我写道,这是我设法运行的设置)。

我最近开始查看是否可以在不存储密码的情况下使其全部运行。所以现在~/.m2/settings.xml我有这样的东西(这个配置文件是活动的):

在 pom.xml 我有这个基本配置的 maven-gpg-plugin

现在,当我在我的 Ubuntu 16.04 系统上执行此操作时,gpg-agent(gpg2 的一部分)和 gnome-keyring-daemon 在第一次使用后会记住密码。

因此,在这个系统上,我通常处于已经运行 gpg-agent 的情况,因此,当我mvn clean verify在项目中对工件进行签名时,不会询问任何问题,因为密码在 gpg-agent 中可用。

到目前为止,一切都很好。

为了确保我拥有完美干净的软件构建(并且对于某些项目也确保正确安装所有工具),我经常从单独的 docker 环境构建/部署软件。

在这样一个“非常干净”的 docker 环境中,启动时没有 gpg-agent,我发现简单地运行mvn clean verify会产生一个没有签名的构建,因为我得到了

据我所知,因为我应该输入密码但没有提供提示。

在这一点上,我只找到了一种解决方法,那就是gpg2 --sign pom.xml在构建软件之前做一些事情,因为这会启动 gpg-agent 并向我显示一个输入密码的对话框。

我想要以一种我可以简单地进行更改的方式更改我的设置,mvn verify并且第一次登录尝试将为我弹出密码对话框并将密码缓存在 gpg-agent 中。

基本上我的问题是如何做到这一点;或更好:设置它的正确方法是什么?

0 投票
0 回答
438 浏览

release - Gitlab-ci 签署 maven 工件

我正在 GITLAB 中设置我的 maven 项目的 CI,我需要在发布到 maven Central 之前对 jar 进行签名。(https://gitlab.com/awe-team/ade

我使用 gnuPgp 生成密钥对并将公钥添加到我的 gitlab 配置文件中。

我是否将我的私钥副本复制到 gitlab-ci 工作文件夹?

得到的错误是找不到密钥。

我的 .gitlab-ci.yaml 看起来行:

我希望构建一个我的 jar 版本并签署它以发布 maven Central。

0 投票
1 回答
1964 浏览

jenkins - 在 Jenkins 下运行时,maven-gpg-plugin 失败并显示“设备的 ioctl 不合适”

当 Jenkinsmaven-gpg-plugin在远程 Linux shell 中触发时,它会以gpg: signing failed: Inappropriate ioctl for device. 直到最近,这一直有效。我不知道发生了什么变化。

我发现很多在线参考资料表明export GPG_TTY=$(tty),但这不适用于 sshtty连接null。有任何想法吗?

0 投票
1 回答
425 浏览

maven - Maven gpg:跳过“39619BDF”:没有密钥

我已经正确配置了 GPG,并且 MAVEN 也引用了正确的 KEY。这一直有效。现在一些Maven总是给出以下错误:

(我不确定它是否与使用 JDK11 而不是 JDK 8 无关)

马文settings.xml有:

命令gpg2 --edit-key 39619BDF显示:

我唯一注意到的是缺少Secret key is available出现在 Maven 文档中的消息:https ://central.sonatype.org/pages/working-with-pgp-signatures.html#dealing-with-expired-keys

0 投票
2 回答
755 浏览

maven - 无论如何要在 github 操作工作流中签署 maven 包吗?

我正在运行 GitHub Action 工作流程,并且在尝试运行 maven 安装时出现失败错误。在我安装 maven 包之前需要我签名。这是我的工作流程 yml 文件:

这就是我得到的:

有什么方法可以使用 github 操作工作流对我们的包进行签名?

0 投票
1 回答
2294 浏览

maven - Maven:无法执行 gpg 命令

我正在尝试将我的学校项目添加到 Maven 存储库。我正在关注本教程:https ://blog.sonatype.com/2010/01/how-to-generate-pgp-signatures-with-maven/ 。我已经成功生成了一个密钥和密码,并且我已经将该链接中的插件添加到了我的 pom 文件中。

当我运行命令mvn clean deploy -Dgpg.passphrase=mypassphrase时,它说

如果我只运行mvn clean deploy它说

我试图谷歌这个,但我无法找到完全相同的问题。我在 Windows 10 上运行这个项目。

0 投票
1 回答
167 浏览

java - 使用 CLI (gpg:sign-and-deploy-file) 将 List-Parameter 传递给 Maven

我目前在将单个文件部署到我的 Maven 注册表时遇到了困难。我使用此目标使用命令行部署到文件:https ://maven.apache.org/plugins/maven-gpg-plugin/sign-and-deploy-file-mojo.html

我需要传入 2 个 gpgArguments:

否则签名过程将失败,因为我正在使用 Github Actions,如果未设置它们,则会出现错误(gpg:签名失败:设备的 ioctl 不合适)
在插件的 MOJO 中有一个参数“gpgArguments”标记为“列表”。

是否可以使用 CLI 传入参数列表?我尝试了很多东西,也搜索了很多东西,但似乎没有任何帮助。

我当前的命令看起来像这样,但它没有解释 gpgArguments:

mvn gpg:sign-and-deploy-file -DpomFile=java/pom.xml -Dfile=./executable/exe -Durl=https://oss.sonatype.org/content/repositories/snapshots -Dclassifier=linux -DrepositoryId=ossrh -Dpackaging=exe -DgpgArguments=--pinentry-mode,loopback

如果这不可能,我的替代方案是什么?谢谢 :)