【问题标题】:Maven, remove part of version and replace with build numberMaven,删除部分版本并替换为内部版本号
【发布时间】:2016-08-16 08:43:28
【问题描述】:

在我的 pom.xml 中,版本是 1.0-SNAPSHOT。我正在使用竹子将快照部署到 nexus,使用:

mvn clean deploy 

问题是我希望项目版本在 nexus 中显示为 1.0-22(内部版本号,22 只是一个示例)而不是 1.0-SNAPSHOT。

我知道我可以用竹子:

mvn versions:set -DnewVersion=1.0-${build.buildNumber}
mvn clean deploy
mvn versions:revert

问题是我不想将 1.0 硬编码到我所有的竹子构建中,因为该部分将来可能会发生变化,如果发生了变化,我不想进入竹子来更改它。此外,我需要该版本在 pom.xml 中保持为 1.0-SNAPSHOT,因为它正在部署到其他地方,而不仅仅是 nexus。有没有办法使用命令更改部分版本号?即删除 -SNAPSHOT 部分并将其替换为内部版本号,然后在其他地方部署时恢复为旧的快照版本。

【问题讨论】:

    标签: maven bamboo


    【解决方案1】:

    如果您在基于 Unix 的系统上运行,您可以尝试:

    BASE_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep SNAPSHOT | grep -v INFO | sed 's/-SNAPSHOT//g')
    mvn versions:set -DnewVersion=$BASE_VERSION-${build.buildNumber}
    mvn clean deploy
    mvn versions:revert
    

    您可能需要调整 BASE_VERSION 字符串,因为我不能 100% 确定它在多 pom 项目中的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多