【问题标题】:Maven dependency mapping to repositoriesMaven依赖映射到存储库
【发布时间】:2013-03-17 15:56:39
【问题描述】:

我是 Maven 的新手,虽然我对 Ant 很熟悉。我试图了解下载依赖项的过程。假设我定义了两个存储库:

还有一个依赖:

  • 依赖
    • groupId:org.mystuff
    • artifactId:mystuff-core

我的问题:

  1. 我假设依赖项的 groupId 必须作为其中一个 repo URL 的子路径找到,例如,http://repo-one.com/repos/org/mystuff。对吗?

  2. 如果是这样,则寻找 artifactId 作为附加子路径,例如,http://repo-one.com/repos/org/mystuff/mystuff-core。对吗?

  3. 如果以上两个都是肯定的,如果同时存在http://repo-one.com/repos/org/mystuff/mystuff-corehttp://repo-two.com/repos/org/mystuff/mystuff-core 怎么办?列出的第一个存储库是否获胜?

  4. 如果我完全偏离轨道,查找存储库依赖项的过程是什么?

您可能会说,我正在查看现有的 POM 并试图了解它是如何工作的。我已经查看了 Maven 站点上的文档,但到目前为止,我没有看到任何明确说明依赖项如何映射到存储库的内容。

【问题讨论】:

    标签: maven dependencies repository


    【解决方案1】:

    第一季度。和 Q2。你说的对。

    更准确地说,默认情况下(即,如果存储库布局未重新定义为非标准布局):工件将在 <REPO_URL>/${groupId_with_dot_replaced_by_subdir}/${artifactId}/${version}/${artifactId}-${version}.${extension}

    第三季度。是的,包含工件的第一个存储库获胜。请注意

    • 如果工件不是 SNAPSHOT 并且已经在您的本地存储库中,则不会再次下载。
    • 如果工件是 SNAPSHOT 并且在本地存储库中的时间超过刷新策略指定的时间:它将再次下载。

    第四季度。 Here is a link 解释 Maven 存储库布局的博文

    【讨论】:

    • 谢谢!正是我想要的。
    猜你喜欢
    • 2012-10-06
    • 2014-03-01
    • 2012-01-10
    • 1970-01-01
    • 2015-02-17
    • 2020-07-13
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    相关资源
    最近更新 更多