这次笔记主要记录仓库和依赖的知识 .
前面提到了仓库,到底是什么呢?
仓库 ①仓库的分类 本地仓库 : 当前电脑上部署的仓库目录,为当前电脑上所有Maven工程服务. 远程仓库 : 1私服:架设在当前局域网环境下,为当前局域网范围内的所有Maven服务. 2中央仓库: 架设在Internet上,为全世界所有Maven工程服务. 3中央仓库镜像: 架设在各大洲,为中央仓库分担流量,减轻压力,更快的响应用户请求. ②仓库中保存的内容: Maven工程 1.Maven自身需要的插件 2.第三方框架或工具的JAR包 3.自己开发的Maven工程 前面的文章提到了依赖时主要的内容:这里就先总结出来: 依赖: pom.xml中:(图来自某站的学习视频截图,后经编辑)
①Maven解析依赖信息时,会到本地仓库中,查找被依赖的JAR包.
对于自己开发的Maven工程,使用install命令安装后就可以进入仓库.
②依赖的范围:(scope, 上图中)
-
compile(编译)范围:
-
对主程序是否有效 :1
-
对测试程序是否有效 :1
-
是否参与打包 :1
-
是否参与部署 :1
-
典型例子: spring-core
-
-
test范围:
-
对主程序是否有效 :0
-
对测试程序是否有效 :1
-
是否参与打包 :0
-
是否参与部署 :0
-
典型例子 : junit
-
-
provided范围:
-
对主程序是否有效 :1
-
对测试程序是否有效 :1
-
是否参与打包 :0
-
是否参与部署 :0
-
典型例子 :servlet.api.jar
-
介绍完依赖的基本知识, 下面记录一下依赖的其他操作:
①依赖的传递性:
[1]:好处:可以传递的依赖,不必唉每个模块工程中重复声明, 在"最下面"的过程中依赖一次即可.
[2]:非compile范围的依赖,不能传递. 所以在各个工程模块中,如果有需要就得重复声明依赖.
②依赖的排除
[1]需要设置依赖排除的场合: 某jar包X被其他jar包甲依赖,甲是工程中所需jar包,而X包不需要,或者是不稳定的jar包,需要排除;
[2]设置方式:
③依赖原则:
[1]作用: 解决模块工程之间的jar包冲突问题.
[2]就近优先原则
[3]验证路径相同时,先声明者优先. 指的是dependency标签的声明顺序.
④统一管理依赖的版本
情景:
这里对Spring各个jar包的依赖版本都是4.0.0,如果需要统一升级为4.1.1,怎么办?
直接方法: 在pom.xml中手动更改, 不可靠.
建议的配置方式:
1.使用properties标签内使用自定义标签统一声明版本号.
2.在需要统一版本的位置, 使用$(自定义标签名)引用声明的版本号.
3.其实properties标签配合自定义标签声明数据的配置并不是只能用于声明依赖的版本号. 凡是需要统一声明后再引用的场合都可以使用.



