2

我的工件版本如下所示:

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} 。

4

1 回答 1

0

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

于 2016-11-07T09:58:24.943 回答