maven分享(一)
今天晚上听了师傅的分享,摘要一些重点。
我师傅口才真好,听他分享觉得行云流水,浑然天成——用他自己对程序员的要求,就是“优雅”。
一、maven是什么,形象的理解是,maven是一只鸟:BIR2D
B uild
I nformation Aggregation
R ule
R epository
D ependency Management
I nformation Aggregation
R ule
R epository
D ependency Management
备注几点:
1 关于R epository:存在3个maven库,分别是
1)中央仓库,是开源软件maven提供的库地址 http://repo1.maven.org/maven2/
2)公司私服
3)本地库
这样做的原因显然是更高效地利用网络资源,可以理解的哦!?
2 关于R ule,例如一个maven管理的工程,他的目录结构一般是maven固定的,开发代码放在哪里,测试代码放在哪里,pom文件在哪里,一一形成了标准化的模式。当然,例外情况允许存在,可以个性定制。
二、maven的生命周期
1 、
pre-clean ---> clean ---> post-clean
2、
process-resources ---> compile … ---> test ---> package ---> install ---> deploy
3、pre-site ---> site ---> post-site ---> site-deploy
三、%M2_HOME% /conf /settings.xml 是中央仓库,一般安装完maven之后不要去修改它
%USER_HOME% /.m2/settings.xml是私服仓库,知道当前USER生效,在当前USER用户下,会对中央仓库进行覆盖。
四、pom.xml中的依赖,依赖关系存在版本冲突的解决方法:
如果依赖如下
那么如何确定d包,最终使用0.9还是1.0版本呢?
有这样3个原则:
1、路径最短(看来是d:0.9)
2、路径相等的情况下,按照依赖添加的优先顺序
3、推翻上述规则,我可以在pom文件的开头直接写上,我使用的d包,就是1.0版本,后面就不用管了
当然,除了原则3,也可以通过dependency exclusion的方式,手动仲裁掉某一个版本(可读性会下降哦)
五、记住公司有个白名单列表
引用的依赖,必须是这个白名单中的,不然就要报错了:
deny 。。。。。
转载于:https://blog.51cto.com/vicky001/389690