坐标
- 坐标是 Maven 中最为核心的概念
- 在前一篇博客提到,我们采用了 Maven 方式构建项目之后,取消了各个模块中的 lib 文件夹,不再导入 jar 包到 Lib 文件夹中,而是通过 pom.xml 这个配置文件从仓库中读取
- 那么问题来了:如何在 pom.xml 这个配置文件中精确的定位到你所需要的 jar 呢
- 这里就引入了坐标这个概念(GAV),通过坐标,在互联网上精确的定位到一个所需要的 jar 包
- groupId:定义当前Maven组织名称
- artifactId:定义实际项目名称
- version:定义当前项目的当前版本
坐标查找
-
我们使用的 jar 包的坐标都在一个网站中有具体的引用规范:https://mvnrepository.com/
-
我们以一个各个模块都可能用到的日志记录 jar包:log4j 为例
-
在这个网站的搜索栏内搜索这个 log4j ,就会出现如图所示部分
-
我们点击第二个 Apache Log4j,进入如下界面
-
我们点击最多人使用的 1.2.17 ,进入如下界面
-
红框内的内容即为我们所需要的坐标(依赖),我们在 pom.xml 文件中加入这个坐标,eclipse 或 IDEA 等编辑器就会自动从中央仓库中下载这个 jar 包,并且放入本地仓库,例如
总结
- Maven 通过坐标定位,替代了之前 lib 文件夹中放 jar 包的方式
- 这样做之后,首先各个模块内省去了 Lib 文件夹导包这一步
- 同时,对于不同模块之间都会重复用到的 jar 包,除去第一次需要从互联网上中央仓库下载外,其他时刻只需要从本地仓库中下载即可。
- 这是一种抽取重复类的思想,这种思想在之前的学习种已经见到很多次了,核心部分就是:抽取不同地方复用率高的部分,单独存在,其他部分调用这个存在即可。之前是对代码抽取,这次是对 jar 包抽取,猜测之后可能会对功能抽取。。