2016-04-22 105 views
1

在我的pom.xml中,版本是1.0-SNAPSHOT。我使用的是用竹子部署快照关系:Maven,删除部分版本并替换内部版本号

mvn clean deploy 

的问题是,我想这个项目的版本中关系显示为1.0-22(内部版本号,22只是一个例子),而不是1.0快照。

我知道竹我可以使用:

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

问题是我不想硬编码到1.0我所有的竹子建造,因为这部分可能会改变未来,如果它确实我不不想进入竹子来改变它。另外,我需要将版本保留为pom.xml中的1.0-SNAPSHOT,因为它将部署到其他地方而不仅仅是联结。有没有办法使用命令更改版本号的一部分?即删除-SNAPSHOT部分并将其替换为内部版本号,然后在其他位置部署时恢复为旧的快照版本。

回答

0

如果您是在基于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%肯定它会如何在多聚甲醛功能项目。