2. Maven相关的概念 – Maven仓库和坐标
1.目标
-
能够理解Maven仓库的作用
2.路径
-
Maven的仓库 -
Maven的坐标
3.讲解
3.1Maven的仓库
仓库名称 | 作用 |
---|---|
本地仓库 | 相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。 |
中央仓库 | 仓库中jar由专业团队(maven团队)统一维护。中央仓库的地址:https://repo1.maven.org/maven2/ |
远程仓库 | 在公司内部架设一台私服,其它公司架设一台仓库,对外公开。 |
3.1.1. 常见开发存在下载 jar 包缓慢的问题
一般来说,不管是我们之前手动去下载 jar 包,或者后续在 Maven中央仓库下载 jar 包,都可能因为一些下载地址在国外,导致下载缓慢的情况,这就影响到我们构建项目的效率了。
那么怎么解决呢?
答案:可以使用缓存。
3.1.2 使用 本地仓库 作为 本地jar包下载的缓存
那么在第一次下载的jar包的过程还是比较缓慢的,由于第一次下载完毕之后,就会将 jar 包保存在本地仓库。那么第二次开始,再次下载使用该 jar 包的话,效率就会提升。
但是,本地仓库 并没有解决 第一次从 maven中央仓库 下载 jar 包缓慢的问题。该怎么解决呢?
3.1.3 在国内假设远程仓库服务(例如:阿里云仓库),提供国内开发人员下载 jar 包
为了解决第一次从国外下载 jar 包缓慢的问题,阿里云将中央仓库的 jar包复制下载。并在国内提供远程仓库服务,提供国内开发者下载,从而解决第一次下载效率低的问题。
当然,这个远程仓库我们也可以在自己的公司内部中搭建。
3.2 Maven的坐标
Maven的一个核心的作用就是管理项目的依赖,引入我们所需的各种jar包等。为了能自动化的解析任何一个Java构件,Maven必须将这些Jar包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也就是我们要说的坐标。包括我们自己开发的项目,也是要通过坐标进行唯一标识的,这样才能才其它项目中进行依赖引用。坐标的定义元素如下:
-
groupId:项目组织唯一的标识符,实际对应JAVA的包的结构 (一般写公司的组织名称 eg:com.alibaba) -
artifactId: 项目的名称 -
version:定义项目的当前版本
3.2.1 访问查看Maven的中央仓库如下:
访问 https://repo1.maven.org/maven2/
可以看到包含了非常多的 jar 包。
并且从 com.alibaba
的路径下可以找到很多 阿里巴巴 的项目。而这个 com.alibaba
就是公司的组织名称。
3.2.2 可以在 阿里巴巴 库中的 druid 库文件
在 com.alibaba
路径下,搜索 druid
,我们就可以找到了。
3.2.3 通过 组织名 + 项目名 + 版本号,就可以定位需要的 jar 包
3.2.4 在项目中配置 jar 包的引入,只需要在 pom.xml 中配置 jar 包的 组织名 + 项目名 + 版本号 就行了。
例如:要引入druid,只需要在pom.xml配置文件中配置引入druid的坐标即可:
<dependecies>
<!--druid连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
</dependecies>
但是这里存在一个很大的问题,我们一般都记不住这些 jar 包的 组织名 + 项目名 + 版本号 的信息。我们可以从哪里去获取呢?
3.2.5 可以百度 或者 国外 maven 坐标搜索 网站 来 搜索 jar包 的 坐标信息
-
访问 maven坐标搜索网站的地址: https://mvnrepository.com/
-
点击进入项目名中,如下:
-
选择需要的版本号
4.拷贝可以使用的 maven 坐标地址
4.小结
-
仓库(本地仓库,中央仓库,远程仓库(私服)) -
如果有, 就直接获得使用 -
如果没有, 从中央仓库找, 自动的下载到本地仓库 -
先从本地仓库找 -
通过坐标从仓库里面找到对应的jar使用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
-
maven坐标搜索网站的地址: https://mvnrepository.com/ -
以后工作中maven坐标是直接拷贝
原文始发于微信公众号(海洋的渔夫):Maven相关的概念 – Maven仓库和坐标
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/33445.html