今天晚上听了师傅的分享,摘要一些重点。
我师傅口才真好,听他分享觉得行云流水,浑然天成——用他自己对程序员的要求,就是“优雅”。
 
一、maven是什么,形象的理解是,maven是一只鸟:BIR2D
 
B uild
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中的依赖,依赖关系存在版本冲突的解决方法:
如果依赖如下maven分享(一)
那么如何确定d包,最终使用0.9还是1.0版本呢?
有这样3个原则:
1、路径最短(看来是d:0.9)
2、路径相等的情况下,按照依赖添加的优先顺序
3、推翻上述规则,我可以在pom文件的开头直接写上,我使用的d包,就是1.0版本,后面就不用管了
当然,除了原则3,也可以通过dependency exclusion的方式,手动仲裁掉某一个版本(可读性会下降哦)
 
五、记住公司有个白名单列表
引用的依赖,必须是这个白名单中的,不然就要报错了:
deny 。。。。。