2013-03-27 86 views
1

我是Maven的新手,虽然我对Ant很有经验。我试图了解下载依赖关系的过程。比方说,我已经定义了两个库:Maven依赖关系映射到存储库

而且一个依赖:

  • 依赖
    • 的groupId:org.mystuff
    • 的artifactId:的MyStuff核心

我的问题:

  1. 我认为依赖的的groupId必须找到作为回购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网站上的文档,但到目前为止,我没有看到任何明确说明依赖关系如何映射到存储库的内容。第一季度销售价格:

回答

2

Q1。和Q2。你是对的。

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

Q3找到。是的,包含工件的第一个存储库获胜。请注意,

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

Q4。 Here is a link来博客文章解释maven资源库布局

+0

谢谢!正是我想要的。 – dnuttle 2013-03-27 15:27:58