【问题标题】:How exactly does Maven find the LATEST version of an artifact?Maven 究竟如何找到工件的最新版本?
【发布时间】:2013-09-08 15:32:31
【问题描述】:

在我们的项目中,我们的主要功能有多个分支。随着我们的开发,我们希望我们的存储库包含每个分支中 API 的快照,以便如果一个分支依赖于另一个分支,它可以轻松地从存储库中获取其 API。但是,我们希望它保存多个快照版本,这样如果一个快照破坏了某些东西,它们就可以引用一个较旧的快照。我们潜在的命名方案是这样的

example-1.0-SNAPSHOT-01.jar

example-1.0-SNAPSHOT-02.jar

等等……

大多数 POM 文件将使用 LATEST 作为这些快照 jar 的版本参考。

无论如何,我的问题是,maven 究竟是如何确定最新版本的?它只是版本号(我认为 SNAPSHOT-01 和 SNAPSHOT-02 都只是 1.0)还是包含时间戳?

【问题讨论】:

    标签: java maven snapshot


    【解决方案1】:

    存储库管理系统(例如nexus)管理最新的快照,通常命名为-SNAPSHOT.jar,其余的文件名中有时间戳

    【讨论】:

    • 这是有道理的(我是刚毕业的大学毕业生,所以这对我来说是全新的),我们确实使用 Nexus。如果开发人员不想使用最新版本,他/她会使用什么版本? <version>1.0-20130904452</version> 会正确吗?
    • 如果该版本存在则是
    • 我不会使用特定的时间戳版本。大多数 Nexus 存储库通过仅保留最后的 N-many 来“老化”他们的快照。根据构建工件的频率,特定时间戳版本可能不会在 repo 上持续很长时间。
    • @tdury 好点,但如果最新的快照出现问题,开发人员只会使用带时间戳的版本。这样他们就可以继续使用他们的功能而不会被阻止。不过感谢您的提醒。
    猜你喜欢
    • 2010-11-15
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-14
    • 1970-01-01
    • 2011-06-26
    • 2021-08-15
    相关资源
    最近更新 更多