当我和我的团队需要将新的 Maven 构件发布到中央仓库时,我们使用的过程如下:
mvn release:clean
mvn release:prepare
mvn release:perform
一切都运行良好。
当然,pom.xml
包含了对 Maven gpg
插件的引用,以封装 jar 包:
...
<build>
<plugins>
....
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
....
</plugins>
</build>
....
如果执行mvn release:perform
失败:
但在开发过程中,我们中的一些人没有/无法安装gpg.exe
程序或签名密钥(只有主要开发者拥有正确的密钥来封闭最终的JAR包)。
因此,如果我们在本地执行mvn clean install
或其他类型的命令,该过程将失败,并且在开发过程中无法将本地修改后的JAR包放入.m2
文件夹中。
在执行命令mvn release:perform
时如何最好地进行软件包签名?
profiles
部分是正确的。但它没有解释如何激活配置文件。应该使用deploy插件的useReleaseProfile
或releaseProfiles
配置属性进行激活,正如文档中所述。 - Pawel Veselov