虽然我对 Ant 很有经验,但我还是 Maven 新手。我试图了解下载依赖项的过程。假设我定义了两个存储库:
存储库
存储库
还有一个依赖项:
我的问题:
我假设依赖项的 groupId 必须作为存储库 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 站点上的文档,但到目前为止,我还没有看到任何明确说明依赖项如何映射到存储库的内容。
Q1。和Q2。你是对的。
更准确地说,默认情况下(即,如果存储库布局未重新定义为非标准布局):该工件将在
<REPO_URL>/${groupId_with_dot_replaced_by_subdir}/${artifactId}/${version}/${artifactId}-${version}.${extension}
找到
Q3。是的,包含该工件的第一个存储库获胜。请注意