Yoy 定义存储库以两种方式搜索工件:
1)在项目部分的 pom.xml 中
<project>
....
<repositories>
<repository>
...
<url>...</url>
</repository>
</repositories>
</project>
2)和/或在文件中$USER_HOME$/.m2/settings.xml
(WEB上有很多例子)
Maven 通过使用存储库 URL 构造工件的 URL 并根据工件组、ID、版本、类型和分类器附加路径来下载工件。并将 groupId 中的点转换为 '/'
RepoUrl/groupId/artifactId/version/artifactId-version-classifier.type
例子:
https://repository.apache.org/content/repositories/releases/commons-io/commons-io/2.4/commons-io-2.4.jar
https://repository.apache.org/content/repositories/releases/commons-io/commons-io/2.4/commons-io-2.4-sources.jar
https://repository.apache.org/content/repositories/releases/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar
这是惯例,它独立于 Artifactory 或 Nexus。这是马文。一切都通过 HTTP 或 HTTPS 传输。此外,Maven 出于安全目的处理 MD5 和 SHA1 文件。
下载后,工件存储在工作站上的本地存储库中$USER_HOME$/.m2/repositories
(它的结构类似于远程存储库),充当缓存和代理。
通常,Artifactory 或 Nexus 是公司级别的本地缓存和代理,具有一些管理它的功能。当然,它们托管公司开发人员发布的 Maven 工件。
看起来像 3 级存储库:本地 - 本地公司 - 全球