前提要点
当开发一个maven项目的时候,首先我们会在maven的pom文件中引入项目所需要的jar包,那么这些jar包是从哪里下载的呢?这就牵扯到maven仓库的概念,maven仓库就是用于存储各种jar包的地方,可以通过pom文件中的依赖坐标来定位jar包所在仓库的位置,那么如何设置maven仓库的地址呢?那么它来了
常用配置
急着开发的同学直接将下面的配置覆盖maven安装目录的config/settings.xml文件中,只需要根据自己的系统改动一下本地地址即可,本地地址就是存在下载jar包的地方 ```xml <?xml version=”1.0” encoding=”UTF-8”?>
需要指定的本地存放jar包目录
nexus-aliyun
central
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
<a name="eQPtr"></a>
# maven仓库分类
<a name="gei0O"></a>
## 本地仓库
> 概念:jar包存放在自己电脑上,pom文件中引入jar包优先从本地仓库中获取
- 在config/settings.xml文件中有个localRepository标签,在这里指定本地仓库的地址
<a name="twN0K"></a>
## 远程仓库
> 概念:jar包存放在其他服务器上,pom文件引入jar包时如果本地仓库没有找到那么就会从远程仓库中去寻找,也就是说需要连接其他服务器获取其中的资源
<a name="B9YpT"></a>
### 中央仓库
> 概念:maven团队维护的仓库,存储了绝大部分开源的jar包资源
- maven默认就是从中央仓库中拉取jar包资源到本地,但是由于国外访问地址慢,所以一般需要将中央仓库的地址替换为国内镜像maven仓库的地址,阿里云的就不错
- 在config/settings.xml文件中有个mirrors标签,在其中配置一下中央仓库的地址
```xml
<!-- 可以配置多个镜像仓库地址,基于id来区分 -->
<mirrors>
<mirror>
<!-- 此镜像的唯一标识符,用来区分不同的mirror元素 -->
<id>nexus-aliyun</id>
<!-- 对哪种仓库进行镜像,简单来说就是替代哪个仓库 -->
<mirrorOf>central</mirrorOf>
<!-- 镜像名称 -->
<name>Nexus aliyun</name>
<!-- 镜像URL -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
私服
概念:由自己公司或团队搭建的maven仓库,包含购买或自主研发的jar包,一定范围内共享资源,仅对内部开放,不对外共享。如何安装并配置私服请参考:https://www.yuque.com/kewangmingtian365/hf5m6s/lhgfq1
- 在config/settings.xml文件中有个servers标签,在其中配置访问私服仓库的凭证
- 一种方式是采用用户名和密码的方式访问
- 另一种是采用私钥的方式访问
然后在mirrors标签中配置私服的地址 ```xml
personal-release admin nexus personal-snapshots /path/to/private/key optional; leave empty if not used.