我希望项目的版本号为正常发布版本的以下格式:
<version>1.0-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
......
另一方面,我希望为每个合并更改的内置工件如下所示:
<version>1.0-SNAPSHOT-${timestamp}</version>
我可以使用maven个人资料来实现这一目标吗?类似的东西:
<profiles>
<profile>
<id>normal</id>
<version>1.0-SNAPSHOT<version>
</proifle>
<profile>
<id>build</id>
<version>1.0-SNAPSHOT-${timestamp}<version>
</proifle>
</profiles>
这样我就可以构建它:
mvn package -P normal // this gives me artifact-1.0-SNAPSHOT.jar
or
mvn package -P build // this gives me artifact-1.0-SNAPSHOT-${timestamp}.jar
如果个人资料可以解决这个问题,那么其他方法是什么?
答案 0 :(得分:6)
虽然我不推荐这种方法,但您可以使用配置文件执行此任务。以下是它的完成方式:
<version>${projectVersion}</version>
...
<profiles>
<profile>
<id>normal</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<projectVersion>1.0-SNAPSHOT</projectVersion>
</properties>
</profile>
<profile>
<id>build</id>
<properties>
<projectVersion>1.0-SNAPSHOT-${timestamp}</projectVersion>
</properties>
</profile>
</profiles>
答案 1 :(得分:2)
使用Builder Number Plugin和/或评估内置timestamp property。无论如何,您的方法不推荐,因为SNAPSHOT始终是最新的。