Maven高阶
一、Maven的项目管理
1.Maven工程的jar包统一版本控制
目的:为了解决jar包冲突
<properties>
<!-- .properties文件是键值对
<properties>标签中也是键值对:jar包名和版本的键值对、项目编码信息等
key:ujiuye.spring.version value=版本号
-->
<ujiuye.spring.version>4.1.6.RELEASE</ujiuye.spring.version>
</properties>
使用maven建议所有的版本声明都写到properties标签中
注意:这种只能解决拆分的maven项目
2.Maven项目的拆分和继承
Maven项目拆分后有可能产生jar包冲突
例如:taobao项目可以拆分为:
dao模块
service模块
controller模块
如果各个模块之间使用的jar包版本不在本项目,在聚合的时候可能会产生jar包冲突。
解决方案:
使用Maven继承:
父工程:子模块中需要依赖的所有jar包及其版本
子模块:所有子模块继承父工程
最终实现整个工程的版本统一
二、Maven的生命周期
任何一个工具或者生物的生命周期都可以分为生、活、死
maven的生命周期也是如此:
maven的生命周期又分为多个阶段
Clean lifecycle:clean 生命周期
1.Pre clean
2.Cleaning
3.Post clean
Default Lifecycle:Maven默认的生命周期
compile test package install
Site Lifecycle:
把maven生成为一个站点;文档 类似于java的文档注释
三、Maven的总结
使用maven拆分项目后:
不同的module之间需要调用时:
一定要添加依赖到需要调用module
例如:service模块需要调用dao模块的对象方法
添加一个依赖:
默认情况下,坐标三要素都不可缺失,但是子模块中添加父工程中的jar包可以省略,建议省略版本号。