0

使用 maven release:prepare 简化了部署工件的过程。可以用标签定义tag标签。该插件允许使用属性来构建自定义标签名。

但我需要一个更定制的版本,它在版本中使用“_”代替分界符。例如版本:1.0.1.2 => 标记名应该是 01_01_01 。

如果我可以访问 ${project.version} 的主要版本、次要版本,这也是一个解决方案。但似乎它们一般不可用。

自从我打电话以来,build-helper 插件似乎没有解决方案release:prepare,因此该插件的任何设置都将丢失

任何想法如何以简单的方式实现这一目标?

4

2 回答 2

0

简单的方法是总是像这样运行 maven

mvn validate release:prepare

当然,如果您忘记validate在 release:prepare 之前调用,您的 release 将会很糟糕......所以这不好。

下一个改进是拥有一个带有 defaultGoals 的配置文件

<profile>
  <id>prepare-release</id>
  <build>
    <defaultGoal>validate release:prepare</defaultGoal>
  </build>
</profile>

然后你通过做非标准来发布

mvn -Pprepare-release

真正的解决方法是向 maven 发布插件建议一个补丁,以允许在tagNameFormat配置参数中进行类似正则表达式的替换。

于 2012-08-17T11:10:41.127 回答
0

使用 Maven-Release Plugin,你可以指定你想要的标签格式。Maven Release Plugin 运行 2 个目标:release:prepare 和 release:perform。

在这里,您的根 pom 中有必要的目标: http ://maven.apache.org/maven-release/maven-release-plugin/usage.html

如果你正在使用 Jenkins 工具,你可以使用 Maven Release Plugin 来运行它,或者只是手动运行它 mvn release:prepare 和 mvn release:perform

于 2013-02-22T18:33:56.230 回答