使用 CLI (gpg:sign-and-deploy-file) 将列表参数传递给 Maven

Pass in List-Parameter to Maven using the CLI (gpg:sign-and-deploy-file)

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

我需要传入 2 个 gpgArguments:

<gpgArguments>
    <arg>--pinentry-mode</arg>
    <arg>loopback</arg>
</gpgArguments>

否则签名过程将失败,因为我正在使用 Github 操作,如果未设置它们,我会收到错误消息(gpg:签名失败:设备的 ioctl 不合适)
在插件的 MOJO 中有一个参数 "gpgArguments" 标记为 "List".

是否可以使用 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

如果那不可能,我有什么选择?谢谢:)

事实证明,"gpgArguments" 没有 "User Property",这是您可以使用 CLI 传递的内容。

经过大量的尝试和错误,我发现了一个 hack,这是我目前找到的唯一解决方案。虽然它不是很优雅。

我创建了一个名为 "gpghack.sh" 的 shell 文件,其中包含 gpg --pinentry-mode loopback "$@".
然后我将此参数添加到我的签名和部署文件目标中: -Dgpg.executable="./gpghack.sh 现在,当 Maven 调用 GPG 时,它将使用 shell-文件,它总是添加我需要的选项。

不漂亮,但现在可以用了..