Maven中的本地存储库和远程存储库的含义是什么?

时间:2012-12-04 06:03:26

标签: maven

我是Maven的新手。我正在阅读Maven - The complete reference并看到了这一行:

  

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

maven安装和项目的本地和远程存储库究竟是什么意思

3 个答案:

答案 0 :(得分:6)

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

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

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

答案 1 :(得分:2)

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

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

远程存储库是一个Maven存储库,就像您的本地{{1}}存储库一样,托管您从中获取依赖关系,例如: Maven Central

答案 2 :(得分:0)

本地存储库是一个回购。进入本地系统时,编译或安装项目时,所有需要依赖项都下载到本地仓库中。 当你使用你的项目时,maven首先尝试从本地获得依赖,如果它不可用,那么它将尝试从中央存储库下载。 中央回购。是一个在线回购。这是由maven本身提供的。

关于每个maven存储库,请检查此different repository in Maven