gpt4 book ai didi

maven - maven-gpg-plugin 的正确执行阶段?

转载 作者:行者123 更新时间:2023-12-04 23:58:36 29 4
gpt4 key购买 nike

这是一个非常愚蠢的问题,但我在配置 maven-gpg-plugin 时遇到问题在我的 POM 上正常工作。基本上我希望它只在我运行 mvn deploy 时才对 Artifact 进行签名,以免在我运行 clean install 时询问我的密码(解密我的私钥) .任何在 github 上下载我的项目的人都应该能够运行 clean install 似乎是合理的。即使没有我的私钥。

好的,所以我想这样做:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>deploy</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>

但这不起作用,因为 OSS Sonatype 会提示 Artifact 是 未签名 .如果我更换 deploy (应该可以正常工作)阶段与 ìnstall阶段,然后当我运行 mvn deploy 时它会为 OSS Sonatype 正确签名,但是即使我运行 mvn install 它也会运行(我不希望)。我错过了什么?

最佳答案

没有名为 pre-deploy 的阶段在 Maven lifecycle这将在部署之前执行。在MNG-3869中提出,但这被关闭为“不会修复”,并且还在 MNG-4330 中提到.

目前,这是一个 profile 的工作.在以下配置中,maven-gpg-plugin只有在 deploy 时才会执行profile 被激活,例如在命令行上使用 mvn clean deploy -Pdeploy .

这样,当您要部署时,您可以激活此配置文件。但是当用户运行时会出现 mvn clean install ,它不会被激活。

<profiles>
<profile>
<id>deploy</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

关于maven - maven-gpg-plugin 的正确执行阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824032/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com