Maven 仓库和坐标详解
Maven 的仓库
- 本地仓库
- 相当于缓存,工程第一次会从远程仓库(互联网)去下载 jar 包,将 jar 包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找
- 中央仓库
- 仓库中 jar 由专业团队(maven 团队)统一维护。中央仓库的地址:https://repo1.maven.org/maven2/
- 远程仓库
- 在公司内部架设一台私服,其它公司架设一台仓库,对外公开。
下载 jar 包缓慢的问题
一般来说,不管是我们之前手动去下载 jar
包,或者后续在Maven中央仓库下载 jar
包,都可能因为一些下载地址在国外,导致下载缓慢的情况,这就影响到我们构建项目的效率了。
那该怎么解决呢??
使用 本地仓库 作为 本地 jar 包下载的缓存
那么在第一次下载的 jar 包的过程还是比较缓慢的,由于第一次下载完毕之后,就会将 jar 包保存在本地仓库。那么第二次开始,再次下载使用该 jar 包的话,效率就会提升。
但是,本地仓库并没有解决第一次从 maven中央仓库 下载 jar 包缓慢的问题。又该怎么解决呢?
可以配置阿里云仓库,提供国内开发人员下载 jar 包
为了解决第一次从国外下载 jar 包缓慢的问题,阿里云将中央仓库的 jar 包复制下载。并在国内提供远程仓库服务,提供国内开发者下载,从而解决第一次下载效率低的问题。
打开
apache-maven-版本号\conf\settings.xml
找到
<mirrors></mirrors>
标签,在其中配置阿里云镜像1
2
3
4
5
6
7
8<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 的坐标
Maven 的一个核心的作用就是管理项目的依赖,引入我们所需的各种 jar 包等。为了能自动化的解析任何一个 Java 构件,Maven 必须将这些 Jar 包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也就是我们要说的坐标。包括我们自己开发的项目,也是要通过坐标进行唯一标识的,这样才能才其它项目中进行依赖引用。坐标的定义元素如下
groupId 项目组织唯一的标识符,实际对应 JAVA 的包的结构 (一般写公司的组织名称 com.alibaba )
artifactId 项目的名称
version 定义项目的当前版本
访问Maven的中央仓库
访问 Maven中央仓库
可以看到包含了非常多的 jar 包。
并且从 com.alibaba
的路径下可以找到很多 阿里巴巴 的项目。而这个 com.alibaba
就是公司的组织名称。
通过 组织名 + 项目名 + 版本号,就可以定位需要的 jar 包
在项目中配置 jar 包的引入,只需要在 pom.xml 中配置 jar 包的 组织名 + 项目名 + 版本号 就行了。
例如:要引入druid,只需要在pom.xml配置文件中配置引入druid的坐标就好啦💋
1 | <dependecies> |
但是这里有个问题,我们一般都 记不住 (不记) 这些 jar 包的 组织名 + 项目名 + 版本号 的信息。
所以我们就可以用 Google 搜索引擎来搜索 maven中央仓库,然后在 maven 中央仓库来搜索 jar 包的坐标信息
然后我们就可以在 maven 中央仓库搜索我们想要的 jar 包坐标啦
点击进入项目名
选择需要的版本号
Ctrl + C maven 的坐标信息
然后就可以在 pom.xml 文件中 Ctrl + V 了