Maven存储库

什么是Maven资源库?

在 Maven 术语里存储库是一个目录,即目录中保存所有项目的 jar 库,插件或任何其他项目特定文件,并可以容易由 Maven 使用。

Maven库中有三种类型

  • local - 本地库
  • central - 中央库
  • remote - 远程库

本地库

Maven 本地存储库是一个在本地计算机上的一个文件夹位置。当你第一次运行 maven 命令的时候它就被创建了。

Maven 的本地资源库让您的项目可依赖这些项目(插件库 jar 文件,jar文件等)。当运行 Maven 构建,那么 Maven 会自动下载所有依赖的jar到本地存储库中。它有助于避免依赖存储在远程机器上的项目建立参考。

Maven 本地存储库,默认情况下创建在 %USER_HOME% 目录。要覆盖默认位置,可在 Maven 的 settings.xml 文件中修改 %M2_HOME%conf 目录指向另一个路径。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
   http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository>C:/MyLocalRepository</localRepository>
</settings>

当运行 Maven 命令,Maven 会下载依赖到您的自定义路径。

中央储存库

Maven中央存储库是由Maven社区提供的资源库。它包含了大量的常用程序库。

当Maven没有在本地存储库找到任何依赖,就会开始搜索在中央存储库,它会使用下列网址: http://repo1.maven.org/maven2/

中央仓库的关键概念:

  • 此系统信息库由Maven社区管理
  • 它不要求配置
  • 搜索时需要互联网接入

要浏览中央 Maven 仓库的内容,Maven 社区提供了一个网址:http://search.maven.org/#browse 。使用这个库,开发人员可以在中央存储库中搜索所有可用的库。

远程仓库

有时,Maven不能从依赖中央存储库找到上述库,那么它停下构建过程并输出错误消息到控制台。为了防止这种情况,Maven提供远程仓库概念,这是开发商的自定义库包含所需的库文件或其他项目 jar 文件。

例如,使用以下提到的 pom.xml,Maven 会从远程仓库下载依赖项(不在中央存储库中提供)。

<project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.projectgroup</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
   <dependencies>
      <dependency>
         <groupId>com.companyname.common-lib</groupId>
         <artifactId>common-lib</artifactId>
         <version>1.0.0</version>
      </dependency>
   <dependencies>
   <repositories>
      <repository>
         <id>companyname.lib1</id>
         <url>http://download.companyname.org/maven2/lib1</url>
      </repository>
      <repository>
         <id>companyname.lib2</id>
         <url>http://download.companyname.org/maven2/lib2</url>
      </repository>
   </repositories>
</project>

Maven 依赖搜索序列

当我们执行 Maven 构建命令,Maven 依赖库按以下顺序进行搜索:

  • 第1步 - 搜索依赖本地资源库,如果没有找到,跳到第2步,否则,如果找到那么会做进一步处理。
  • 第2步 - 搜索依赖中央存储库,如果没有找到,则从远程资源库/存储库中,然后移动到步骤4,否则如果找到,那么它下载到本地存储库中,以备将来参考使用。
  • 第3步 - 如果没有提到远程仓库,Maven 则会停止处理并抛出错误(找不到依赖库)。
  • 第4步 - 远程仓库或储存库中的搜索依赖,如果找到它会下载到本地资源库以供将来参考使用,否则 Maven 停止处理并抛出错误(找不到依赖库)。

原文地址:https://www.cnblogs.com/borter/p/9605469.html

时间: 2024-10-07 05:32:00

Maven存储库的相关文章

Maven中央存储库

当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 – http://repo1.maven.org/maven2/ 查找下载. 下面是可以直接搜索的地址 http://search.maven.org/#advancedsearch%7Cgav

maven 学习---如何从Maven远程存储库下载?

根据 Apache Maven 的说明: Downloading in Maven is triggered by a project declaring a dependency that is not present in the local repository (or for a SNAPSHOT, when the remote repository contains one that is newer). By default, Maven will download from th

maven 学习---Maven中央存储库

当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载. 首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源, 如果没有找到,然后把它会从默认的 Maven 中央存储库 – http://repo1.maven.org/maven2/ 查找下载. Maven 的中央资源库网站是这样的: Maven中心储存库网站已经改版本,目录浏览可能不再使用. 这将直接被重定向到 http://search.maven.org/.这就好多了,现在有

如何从Maven中央存储库下载?

根据 Apache Maven说明: 下载时由项目的 pom.xml 文件的依赖来决定,目前不在本地存储库触发(当中央存储库包含了一个更新).默认情况下,Maven将从中央存储库下载. 在Maven中,当你声明的库不在本地存储库也不在Maven中央存储库,程序将停止并输出错误消息到您的Maven控制台. 1.示例 这个 org.jvnet.localizer 只能存在于 Java.net.repository <dependency> <groupId>org.jvnet.loca

04.maven中央存储库

当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库查找下载. 搜索常用的jar版本可通过如下两个网址 http://search.maven.org/ https://mvnrepository.com/ 原文地址:http://blog.51cto.com/12133258/2301411

从Maven远程存储库下载

示例 org.jvnet.localizer 只适用于 Java.net资源库 pom.xml <dependency> <groupId>org.jvnet.localizer</groupId> <artifactId>localizer</artifactId> <version>1.8</version> </dependency> 未声明,将报错 声明Java.net储存库 告诉 Maven 来获得

GitHub 在线存储库

GitHub是使用Git的版本控制系统是一个基于网络的托管服务的软件开发项目.它也有其标准的GUI应用程序可供下载(在Windows,Mac,GNU/Linux)的直接从服务的网站.但在这个环节中,我们将只能看到CLI部分. 创建GitHub的资料库 去到 github.com. 如果您已经GitHub的帐户,然后使用该帐户登录,或创建新的.从  github.com 网站按照以下步骤来创建新的存储库. 推送操作 Tom 决定使用GitHub上服务器.要开始新的项目,他将创建一个新的目录和一个文

大数据:70多个网站让你免费获取大数据存储库

你是否需要大量的数据来检验你的APP性能?最简单的方法是从网上免费数据存储库下载数据样本.但这种方法最大的缺点是数据很少有独特的内容并且不一定能达到预期的结果.以下是70多家可以获得免费大数据存储库的网站. Wikipedia:Database :向感兴趣的用户提供所有可用的内容的免费副本.可以得到多种语言的数据.内容连同图片可以下载. Common crawl 建立并维护一个所有人都可以访问的开放的网络.这个数据保存在亚马逊s3bucket中,请求者可能花费一些钱来访问它. Common cr

大数据存储库

国内:数据堂 你是否需要大量的数据来检验你的APP性能?最简单的方法是从网上免费数据存储库下载数据样本.但这种方法最大的缺点是数据很少有独特的内容并且不一定能达到预期的结果.以下是70多家可以获得免费大数据存储库的网站. Wikipedia:Database :向感兴趣的用户提供所有可用的内容的免费副本.可以得到多种语言的数据.内容连同图片可以下载. Common crawl 建立并维护一个所有人都可以访问的开放的网络.这个数据保存在亚马逊s3bucket中,请求者可能花费一些钱来访问它. Co