• 6、Maven仓库


    1. 在Maven的术语中,仓库是一个位置(place),例如目录,可以存储所有的工程.jar文件,library jar文件,插件或者任何其他的工程指定的文件
    2. Maven仓库有三种类型
      1. 本地(local)
      2. 中央(central)
      3. 远程(remote)
    3. 本地仓库
      1. maven本地仓库是机器上的一个文件夹,它在你第一次运行任何的maven的命令的时候创建
      2. Maven本地仓库保存你的工程的所有的依赖(library jar,plugin jar等),当你第一次运行maven的时候,Maven会自动下载所有依赖的jar文件到本地仓库中,它避免了每次构建的时候都引用存放在远程机器上的依赖文件。
      3. Maven本地仓库默认被创建在%USER_HOME%目录下,要修改此位置,在%M2_HOME%/conf目录中的Maven的setting.xml文件中定义一个路径
      4. <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>
        1. 当再次运行maven命令的时候,Maven将会下载所依赖的文件到你的指定的路径当中
    4. 中央仓库
      1. Maven中央仓库是有Maven的社区提供者提供的仓库,其中包含了大量的常用的库
      2. 中央仓库的概念如下
        1. 这个仓库由Maven社区提供,
        2. 不需要配置
        3. 需要通过网络才可以访问
      3. 要浏览中央仓库的内容,maven社区提供了一个URL(http://search.maven.org/#browse ),使用这个仓库,开发人员可以搜素所有的可以获取的代码库
    5. 远程仓库
      1. 如果Maven在中央仓库中也找不到依赖的库文件,它会停止构建过程并且输出错误信息到控制台,为了避免这种情况的发生,Maven提供了远程仓库的概念,它是开发人员可以自己定制的仓库,包含了所需要的代码库或者其他工程中用到的jar文件。
      2. 举例说明
        1. 使用下面的pom.xml文件,Maven将会从远程仓库下载该pom.xml中声明的所依赖的文件(在中央仓库中找不到的文件)
        2. <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>
    6. Maven依赖搜索的顺序
      1. 当我们执行Maven构建命令的时候,Maven开始按照一下的顺序查找依赖的库
        1. 在本地仓库中搜索,如果找不到,执行步骤二,如果找到了则执行其他操作
        2. 在中央仓库中搜索,如果找不到,并且有一个或者多个远程仓库已经设置好,则执行步骤四,如果找到了则下载到本地仓库中已被将来引用,
        3. 如果远程仓库没有被配置,Maven将简单的停滞处理并抛出异常(无法找到依赖文件)
        4. 在一个或者多个远程仓库中搜索所依赖的文件,如果找到则下载到本地的仓库已被将来引用,否则maven将停止处理并抛出错误(无法找到依赖的文件)





  • 相关阅读:
    Scrapy
    关于函数名称和库函数名称冲突的故事
    Hibernate的一级缓存
    spring-mvc 与 openid4java
    openid4java 使用记录[转载]
    Linux定时任务Crontab详解_定时备份
    Spring的线程池ThreadPoolTaskExecutor使用案例
    BZOJ4275 : [ONTAK2015]Badania naukowe
    BZOJ4137 : [FJOI2015]火星商店问题
    BZOJ2832 : 宅男小C
  • 原文地址:https://www.cnblogs.com/yangzsnews/p/7506639.html
Copyright © 2020-2023  润新知