Maven的基本原理
- Maven的作用是什么
- Maven的基本原理
- 本地仓库
- 远程仓库
- 中央仓库
- 私服
- maven引入jar包的过程
Maven的作用是什么
1、假设我们有10个项目,都需要引入某个模块,那么需要引入十份重复的模块相关的jar包。
使用Maven:maven使用本地仓库存储的jar,所有项目都会公用仓库中的同一分jar。
2、如果引入的jar包互相依赖,那么两个或多个jar包需要相应的版本才能运行,否则会报错。
使用Maven:maven不需要关心这些问题,会自动引入jar所需的兼容版本jar。
3、如果一个项目里面有个100个jar,不知道那些jar是彼此关联的,那些是互相排斥的,当需要升级版本时,增加或删除一些jar,很容易出各种问题。
使用Maven:maven升级jar,只需要把版本3.x改成4.x,他会自动解决那些问题。
概括的说:Maven是一个项目管理和综合工具。Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。Maven增加可重复性并负责建立相关的业务。
Maven的基本原理
本地仓库
本地仓库:顾名思义,就是Maven在本地存储构件的地方。
注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建。
maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置。
如何更改maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于maven的settings.xml文件中。<localRepository>D:/myworkspace/maven_repository</localRepository>
远程仓库
中央仓库
中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置。
私服
私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。
maven引入jar包的过程
maven项目如果引入了一个模块中的jar包,会首先从本地仓库查找对应的jar包,如果找不到的话就去远程仓库拉取(下载到本地),这样下一次在本地使用这个jar包时就可以直接从本地引入了。
如果去远程拉取时都在中央仓库拉取,那么中央仓库的负载会非常大,所以一些公司在局域网中会设置私服,远程拉取首先去私服拉取,如果私服有这个jar包就不再去访问中央仓库,如果没有再由私服去中央仓库拉取,之后再给本地仓库,之后这个局域网中再使用这个jarbao就直接在私服拉取而不需要访问中央仓库,以减少对中央仓库的压力。