maven中的坐标和仓库

2018-09-25  本文已影响19人  不知名的蛋挞

坐标

在实际的生活中,我们可以将地址看成是一种坐标。不同的省,不同的市,不同的区,不同的街道等一系列信息标识了每一个不同的地址。在深圳经常吃外卖的人应该是有体会的,送外卖的小哥都会根据你填写的地址将外卖送给你,而你填的地址就标识了唯一的一个地址。

坐标就好比每一个Java构件的身份证一样。Maven的世界是拥有非常多的Java构件的,可能是jar、可能是war、也可能是其他的一些东西。假如Maven中没有坐标的概念,我们是无法来区分这些构件的,所以我们要唯一标识每一个构件。

这个版本的管理其实是有讲究的,一般都是通过三个号+里程碑-------->x.x.x.里程碑来进行版本管理的:

里程碑的版本:

仓库

【本地仓库和远程仓库】

假设abc三人负责不同的模块
A------>core
B------>service
C------>action

因为B依赖于A,C依赖于A、B,所以比较麻烦,而且如果开发了几个不同的版本,那就更麻烦了,怎么办?我们可以建立一个仓库,可以让ABC所开发的数据提交到这个仓库中,我们只要添加依赖就会自动从这个仓库下载。

maven会在仓库里面寻找我们所需的jar文件。仓库位置默认在我的文档的.m2这个文件夹中的repository,这个就是maven的本地仓库。

本地仓库找不到我们需要的构件则会去Maven的全球中央仓库(https://repo.maven.apache.org/maven2)中查找,然后下载。如果远程仓库也找不到,就会报错。

【私有服务器】

如果有一天新来一个开发人员,则他下载包的量非常大,效率不高。怎么办呢?我们不让项目直接访问中央工厂,我们先在中央工厂外面搭建一个工厂,也叫私有服务器,由它同一访问我们的中央工厂。

当新的开发人员已一来,发现本地仓库没有,就回到私服里面去找,则直接从自己的服务器上面下载就ok了。

【镜像仓库】

所谓镜像就是a提供和b一样的功能。因为maven的仓库都是国外的,有时因为一些原因导致我们无法访问外网,好在我们国内就有一样的仓库。

如何修改镜像仓库的位置呢?打开以下位置的settings.xml

找到如下代码。这里为我们提供了一个示例,我们把它复制出来,并改动一些配置,改成国内仓库的配置。

id表示该镜像仓库的id,mirrorOf表示为哪个仓库配置镜像(central指的是中央仓库)

上一篇 下一篇

猜你喜欢

热点阅读