Maven中的本地存储库和远程存储库是什么意思



我正在阅读Maven - 完整的参考并遇到了这个

Maven假设父POM可以从本地存储库获得,或者在当前项目的父目录(../pom.xml)中可用。如果这两个位置都无效,则可以通过 relativePath 元素覆盖此默认行为。

Maven安装和项目的本地和远程存储库到底是什么意思?

本地存储库是一种本地目录结构,用于缓存从远程存储库下载的工件或手动安装的工件(例如从命令行选项)。

远程存储库是包含版本化工件的 Web 服务(由 URL 定义)。这可能像Apache服务器一样简单,也可以像Artifactory这样的成熟Maven存储库一样简单,它允许上传,基于用户目录的权限等。

http://maven.apache.org/guides/introduction/introduction-to-repositories.html

默认情况下,Maven 将从本地.m2存储库获取依赖项,并将依赖项安装到本地存储库。这是一个优先规则,您的.m2就像一个缓存,Maven 可以在远程下载依赖项之前获取依赖项。您可以像这样绕过此行为:mvn -U ...(请参阅mvn --help)。

您的本地.m2可以在 Windows 上的 C:Users{user}.m2 下找到,或者在 Linux 上的/home/{user}/.m2下找到。如果您执行mvn install,您的项目将本地安装在上述.m2存储库下。

远程仓库是一个 Maven 仓库,就像您的本地.m2仓库一样,托管供您从中获取依赖项,例如 Maven Central。

本地存储库是一个存储库。编译或安装项目时,将项目所需的所有依赖项下载到本地存储库中。当您使用项目时,Maven 首先尝试从本地获取依赖项。如果它不可用,则 Maven 将尝试从中央存储库下载依赖项。

Central Repo.是一个在线存储库,由Maven自己提供。

最新更新