Maven 发布:如何跳过部署步骤?

Maven Release: How to skip deploy step?

为了发布我的应用程序,我正在使用 maven-release-plugin

此过程中的一个步骤是将发布部署到存储库中。 我想避免这一步,但是当我从我的 pom 文件中删除 distributionManagement 时出现错误:

Deployment failed: repository element was not specified in the POM inside distributionManagement element 

如何配置 maven-release-plugin 跳过部署?

感谢任何建议!

作为mentioned here,您可以使用:

mvn release:perform -Darguments="-Dmaven.deploy.skip=true"

(也可用于其他插件,如 github-release-plugin

glib-briia/cucumber-jvm-scala pom.xml 所示,您还可以在 pom.xml 中定义配置文件,以便在需要时激活 skip

一天发布几次这没什么不寻常或有趣的。space 问题可能有问题,但这是一个单独的讨论。

您可以配置 maven release plugin 在发布期间将完成什么样的目标。这最多可以通过在 pluginManagement 中配置插件来实现。而且你还应该定义你正在使用的所有插件的所有版本(大多数时候为你的环境创建一个父 pom 是最方便的)。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <configuration>
    <arguments>${arguments}</arguments>
    <goals>The Goal You would like to execute</goals>
    <autoVersionSubmodules>true</autoVersionSubmodules>
  </configuration>
</plugin>

所以你可以定义只制作 install 而不是像这样部署:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <configuration>
    <arguments>${arguments}</arguments>
    <goals>install</goals>
    <autoVersionSubmodules>true</autoVersionSubmodules>
  </configuration>
</plugin>