我是Maven的新手,虽然我对Ant很有经验。我正在尝试了解下载依赖项的过程。假设我已经定义了两个存储库:
存储库
存储库
一个依赖:
我的问题:
我假设必须找到依赖项的groupId作为其中一个repo URL的子路径,例如http://repo-one.com/repos/org/mystuff。是吗?
如果是,则追求artifactId作为附加子路径,例如http://repo-one.com/repos/org/mystuff/mystuff-core。是吗?
如果以上两个都有,那么如果同时有http://repo-one.com/repos/org/mystuff/mystuff-core和http://repo-two.com/repos/org/mystuff/mystuff-core怎么办?第一个存储库是否胜出?
如果我完全偏离了轨道,那么在资源库中查找依赖关系的过程是什么?
正如您可能会说的那样,我正在查看现有的POM,并试图了解其工作原理。我已经查看了Maven站点上的文档,但到目前为止,我没有看到任何明确说明依赖关系如何映射到存储库的内容。
答案 0 :(得分:2)
Q1。和Q2。你是对的。
更准确地说,默认情况下(即如果存储库布局未重新定义为非标准布局):工件将在<REPO_URL>/${groupId_with_dot_replaced_by_subdir}/${artifactId}/${version}/${artifactId}-${version}.${extension}
Q3。是的,包含工件的第一个存储库获胜。注意
Q4。 Here is a link博客文章解释maven存储库布局