【问题标题】:I want to automatically update artifact version with the latest svn revision number using maven release plugin我想使用 maven 发布插件使用最新的 svn 修订号自动更新工件版本
【发布时间】:2016-05-07 18:44:03
【问题描述】:

我的工件版本如下所示:

1.0.0-快照

我想使用 maven 发布插件将工件部署到发布存储库,使用以下版本:1.0.0.1234,其中 1234 是最新的 svn 修订号。

这可能吗?

我尝试使用 org.codehaus.mojo:buildnumber-maven-plugin 检索 svn 修订号并添加以下部分:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <executions>
        <execution>
            <phase>validate</phase>
            <goals>
                <goal>create</goal>
            </goals>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.5.2</version>
    <configuration>
        <releaseVersion>1.0.0.${buildNumber}</releaseVersion>
    </configuration>
</plugin>

但是当我运行以下命令时:

mvn -DdryRun=true -Dresume=false -B release:prepare

标签中的版本似乎设置为 1.0.0.${buildNumber}。

【问题讨论】:

  • 你能改用$\{buildNumber}吗?
  • 您为什么要这样做?目的是什么?

标签: maven maven-release-plugin buildnumber-maven-plugin


【解决方案1】:

问题是您已将目标buildnumber-maven-plugin:create 与阶段validate 相关联。如果您希望它被执行,因此变量${buildNumber} 在您执行release:prepare 时被赋予值,您必须事先执行该阶段。 也就是说,为了使它工作,你必须改变你的命令: mvn validate -DdryRun=true -Dresume=false -B release:prepare

【讨论】:

    猜你喜欢
    • 2010-09-10
    • 2010-10-24
    • 2016-07-24
    • 2023-03-19
    • 2011-06-18
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多