【问题标题】:Rules for SNAPSHOT versions in Maven repositoryMaven 存储库中 SNAPSHOT 版本的规则
【发布时间】:2016-04-19 20:57:11
【问题描述】:

网站

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

状态

如果版本包含字符串“-SNAPSHOT”,那么 Maven 将展开 此标记为转换为 UTC 的日期和时间值(协调 世界时),当您安装或发布此组件时。

从某种意义上说,这真的是真的吗?1.2.3-SNAPSHOT 的常见示例不仅表现得像 SNAPSHOT 版本,而且还表现得像 1.2.3-RC-SNAPSHOT1.2.3-SNAPSHOT-RC 之类的东西?

【问题讨论】:

    标签: maven repository release-management


    【解决方案1】:

    确实,每个以SNAPSHOT 结尾的版本都将替换为转换为UTC 的日期/时间值。


    这个转换是在 Maven 源代码的 SnapshotTransformation 类内部完成的:

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

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

    所以,从源代码来看,这本书有一部分是对的:应该是“以”结尾而不是“包含”。

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 2019-09-28
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多