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

4
为了发布我的应用程序,我正在使用 maven-release-plugin
这个过程中的一步是将发布部署到仓库中。虽然我想避免这一步骤,但如果我从我的pom文件中删除distributionManagement,就会出现错误:
Deployment failed: repository element was not specified in the POM inside distributionManagement element 

如何配置maven-release-plugin以跳过部署?
感谢任何建议!

你为什么想要避免那个?难道你不是在使用代码库吗? - khmarbaise
1
插件将为我执行几个操作,例如:增加版本号,在git仓库中创建标签等。所有这些都非常有用,但我真的不需要为每个发布部署jar包。可能听起来很有趣,但我确实经常发布(每天几次),而且我在VPS上没有那么多空间:)。如果将来需要获取旧版本,我可以检出标签并构建它。 - Tomas Marik
2个回答

4
这并不是每天发布多次都很不寻常或可笑的事情...空间问题可能引起争议,但这是另一个讨论。
您可以配置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>

2

只有在相应的层次结构中配置了maven-release-plugin,参数才能正常工作。除此之外,如果您必须多次执行此操作,则很可能会错过参数,使其比必要的更加不便。 - khmarbaise
一个配置文件意味着你必须在命令行中添加选项,这并不是很方便... - khmarbaise

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接