前提要点

当开发一个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

  1. <a name="eQPtr"></a>
  2. # maven仓库分类
  3. <a name="gei0O"></a>
  4. ## 本地仓库
  5. > 概念:jar包存放在自己电脑上,pom文件中引入jar包优先从本地仓库中获取
  6. - 在config/settings.xml文件中有个localRepository标签,在这里指定本地仓库的地址
  7. <a name="twN0K"></a>
  8. ## 远程仓库
  9. > 概念:jar包存放在其他服务器上,pom文件引入jar包时如果本地仓库没有找到那么就会从远程仓库中去寻找,也就是说需要连接其他服务器获取其中的资源
  10. <a name="B9YpT"></a>
  11. ### 中央仓库
  12. > 概念:maven团队维护的仓库,存储了绝大部分开源的jar包资源
  13. - maven默认就是从中央仓库中拉取jar包资源到本地,但是由于国外访问地址慢,所以一般需要将中央仓库的地址替换为国内镜像maven仓库的地址,阿里云的就不错
  14. - 在config/settings.xml文件中有个mirrors标签,在其中配置一下中央仓库的地址
  15. ```xml
  16. <!-- 可以配置多个镜像仓库地址,基于id来区分 -->
  17. <mirrors>
  18. <mirror>
  19. <!-- 此镜像的唯一标识符,用来区分不同的mirror元素 -->
  20. <id>nexus-aliyun</id>
  21. <!-- 对哪种仓库进行镜像,简单来说就是替代哪个仓库 -->
  22. <mirrorOf>central</mirrorOf>
  23. <!-- 镜像名称 -->
  24. <name>Nexus aliyun</name>
  25. <!-- 镜像URL -->
  26. <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  27. </mirror>
  28. </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.

nexus-personal
*
http://47.90.161.167:8081/repository/maven-public/
```