Maven教程(3)- 仓库的概念

2020年8月28日13:27:54 评论 46

通过pom.xml中的配置,就能够获取到想要的jar包(还没讲解如何配置先需要了解一下仓库的概念),但是这些jar是在哪里呢?就是我们从哪里获取到的这些jar包?答案就是仓库。

仓库分为:本地仓库、第三方仓库(私服)、中央仓库

1、本地仓库

Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理,每个电脑默认的仓库是在 $user.home/.m2/repository下

Maven教程(3)- 仓库的概念

例如我的就在:C:\Users\Administrator\.m2\repository

一般我们会修改本地仓库位置,自己创建一个文件夹,在从网上下载一个拥有相对完整的所有jar包的结合,都丢到本地仓库中,然后每次写项目,直接从本地仓库里拿就行了

Maven教程(3)- 仓库的概念

这里面有很多各种各样我们需要的jar包。

修改本地库位置:在$MAVEN_HOME/conf/setting.xml文件中修改,

Maven教程(3)- 仓库的概念

Maven教程(3)- 仓库的概念

D:\java\maven\repository:就是我们自己创建的本地仓库,将网上下载的所有jar包,都丢到该目录下,我们就可以直接通过maven的pom.xml文件直接拿。

2、第三方仓库

第三方仓库,又称为内部中心仓库,也称为私服

私服:一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可作为公用类库镜像缓存,减少在外部访问和下载的频率。(使用私服为了减少对中央仓库的访问

私服可以使用的是局域网,中央仓库必须使用外网

也就是一般公司都会创建这种第三方仓库,保证项目开发时,项目所需用的jar都从该仓库中拿,每个人的版本就都一样。

注意:连接私服,需要单独配置。如果没有配置私服,默认不使用

3、中央仓库

Maven内置了远程公用仓库:http://repo1.maven.org/maven2

这个公共仓库是由Maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件。目前是以java为主

工程依赖的jar包如果本地仓库没有,默认从中央仓库下载

总结:获取jar包的过程

Maven教程(3)- 仓库的概念

4、镜像

镜像的作用和cdn很类似,因为GFW的关系,很多外国的仓库访问速度很慢或者无法访问,那么就可以借助一些国内的一些大公司提供的镜像地址来加快文件的下载,用的比较多的是阿里的镜像地址。

<mirrors>
   <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
</mirrors>

Maven教程系列:

Maven教程(1)- Maven是什么?
Maven教程(2)- Maven的安装与配置
Maven教程(3)- 仓库的概念
Maven教程(4)- 使用命令行管理项目
Maven教程(5)- 使用Myeclipse创建maven自定义项目
Maven教程(6)- pom.xml的依赖关系讲解(重点)
Maven教程(7)- maven父工程与子模块的拆分与聚合原理
Maven教程(8)- Maven生命周期详解
Maven教程(9)- Maven插件详解
Maven教程(10)- Maven常用命令
Maven教程(11)- Maven的pom.xml配置详解
Maven教程(12)- Maven的setting.xml配置详解

总目录Maven教程

(转自:https://www.cnblogs.com/whgk/p/7112560.html)

素课网
  • 本文由 发表于 2020年8月28日13:27:54
  • 转载请注明:https://www.suketech.com/9515.html
Maven教程目录 教程

Maven教程目录

Maven概念模型: 下面的文章系列会详细解读Maven概念模型的各个部分。 Maven教程(1)- Maven是什么? Maven教程(2)- Maven的安装与配置 Maven教程(3)- 仓库的...
Maven教程(10)- Maven常用命令 Maven教程

Maven教程(10)- Maven常用命令

Maven参数 -D 传入属性参数 -P 使用pom中指定的配置 -e 显示maven运行出错的信息 -o 离线执行命令,即不去远程仓库更新包 -X 显示maven允许的debug信息 -U 强制去远...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: