Maven存储库中SNAPSHOT版本的规则

时间:2016-01-14 13:42:59

标签: maven repository release-management

网站

http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html

状态

  

如果版本包含字符串“-SNAPSHOT”,则Maven将展开   此标记将日期和时间值转换为UTC(已协调   Universal Time)安装或发布此组件时。

从某种意义上讲,这不仅是1.2.3-SNAPSHOT的常见示例,而且还有1.2.3-RC-SNAPSHOT1.2.3-SNAPSHOT-RC之类的内容吗?

1 个答案:

答案 0 :(得分:4)

It is true that every version ending with SNAPSHOT will be replaced with the date/time value converted to UTC.


This transformation is done inside the class SnapshotTransformation的目标:

String newVersion = snapshot.getTimestamp() + "-" + snapshot.getBuildNumber();
version = StringUtils.replace( baseVersion, Artifact.SNAPSHOT_VERSION, newVersion );

可以在类ArtifactUtils中看到什么被认为是SNAPSHOT版本:如果版本以"SNAPSHOT"忽略大小写结尾,则此代码认为版本是SNAPSHOT版本。对于这种情况,the code also在SNAPSHOT之前添加一个破折号(如果它还没有)。

所以,从源代码来看,这本书是部分正确的:它应该以"结束于"而不是"包含"。