Maven仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。

      在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。

Maven仓库有三种类型:

  1. 本地仓库(local repository):在第一次执行maven命令的时候被创建在用户自己电脑上,默认被创建在%USER_HOME%目录下。要修改默认位置,在%MAVEN_HOME%\conf目录(即Maven的安装包目录)中Maven的settings.xml文件中定义另一个路径。
  2. 中央仓库(central repository):该仓库是由Maven社区提供的仓库,其中包含了大量的常用库。需要通过网络才能访问。
  3. 远程仓库(romote repository):该库是开发人员自己定制仓库(公司搭建一台服务器,构建一个仓库,对外公开),包含了所需要的代码库或者其他工程中用到的jar文件。

Maven依赖搜索顺序:

  1. 步骤一:在本地仓库搜索,如果找不到,执行步骤二,如果找到了则执行其他操作。
  2. 步骤二:在中央仓库搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤四,如果找到了则下载到本地仓库中以备将来引用。
  3. 步骤三:如果远程仓库没有被设置,Maven将简单的停止处理并抛出错误(无法找到依赖的文件)。
  4. 步骤四:在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则Maven将停止处理并抛出错误(无法找到依赖文件)。

配置本地仓库:

找到%MAVEN_HOME%\conf目录(即Maven的安装包目录)中Maven的settings.xml文件,打开文件,添加本地仓库的目录。

配置中央仓库(Maven Aliyun仓库)

由于Maven仓库默认在国外,国内使用难免很慢,所以跟换为阿里云的仓库。

找到%MAVEN_HOME%\conf目录(即Maven的安装包目录)中Maven的settings.xml文件,在mirros节点上,添加内容如下:

使用时,在项目的pom.xml文件里添加:

<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>

远程仓库

在pom.xml,声明所依赖的文件,类似以下内容:

<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>

 

 posted on 2019-07-09 22:33  会飞的金鱼  阅读(129)  评论(0)    收藏  举报