Maven版本的目的:设置removeSnapshot?

时间:2016-12-16 16:54:59

标签: maven version maven-versions-plugin

versions-maven-plugin versions:set目标显示有removeSnapshot参数:

  

removeSnapshot:   是否从现有版本中删除-SNAPSHOT。如果未设置,则默认为false。

Type: boolean
Since: 2.10
Required: No
User Property: removeSnapshot
Default: false

我有一个Maven多模块聚合POM,所有模块中的所有版本都设置为0.2.0-SNAPSHOT。我准备发布(请不要告诉我使用Maven发布插件),我想将版本更改为0.2.0。所以我试试这个:

mvn versions:set -DremoveSnapshot=true

Maven停下来问我:

Enter the new version to set 0.2.0-SNAPSHOT:

嗯,如果我手动输入0.2.0,表示removeSnapshot=true的重点是什么?

1 个答案:

答案 0 :(得分:0)

版本2.3 of versions-maven-plugin在使用

时适合我
mvn versions:set -DremoveSnapshot=true

此外,虽然无法在任何地方找到它,但在使用

时测试行为
<configuration>
      <removeSnapshot>true</removeSnapshot>
</configuration>

mvn versions:set -DremoveSnapshot=true

我可以说,如果您尝试将新版本从现有的0.2.0-SNAPSHOT设置为另一个0.2.1-SNAPSHOT或将版本(0.2.1)向上翻转到其他位置。该参数会限制您简单地标记当前SNAPSHOT版本的版本,无论如何导致0.2.0

所以(removeSnapshot的配置标记为true

mvn versions:set -DnewVersion=0.2.1

mvn versions:set -DnewVersion=0.2.1-SNAPSHOT

会导致生成

<version>0.2.0</version>

另一方面,无论是default还是明确设置为false以上命令都会生成

<version>0.2.1</version> 

<version>0.2.1-SNAPSHOT</version>

分别