Maven,删除部分版本并替换内部版本号
问题描述:
在我的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部分并将其替换为内部版本号,然后在其他位置部署时恢复为旧的快照版本。
答
如果您是在基于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%肯定它会如何在多聚甲醛功能项目。