maven做项目管理

1 dependecyManagement下面的依赖不会被执行 一般用于父类模块 公用的依赖 方便让子类集成 如junit

Build下面对应的是maven插件

dependecyManagement和dependencies的区别在于:dependecyManagement让所有的子项目使用依赖项的统一版本,通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。

这样的好处是:统一管理项目的版本号,确保应用的各个项目的依赖和版本一致。

2 dependency scope 依赖的范围 对编译 测试 和运行的适用

Compile 默认 就是全部都适用

Provided 在编译和测试的时候有效

Runtime 在测试和运行的时候有效

Test 只在测试的范围内有效

System 在测试和编译的时候有效 与本机系统相关联 可移植性差

Import 导入的范围 ,它只使用在dependecyManagement中表示从其他的pom中导入dependecy的配置

3 maven的生命周期

清理  编译 测试  打包 集成测试  验证   部署 

clean compile package install

4 传递依赖和排除依赖

传递依赖是指C依赖B B依赖A 首先需要分别对B和A 进行clean install 操作 安装到本地仓库里面去 然后再B和C中 加入A和B的坐标 即groupId artifactId version 标签 然后对B和C进行compile编译操作

排除依赖需要使用exclusions标签让C脱离对A的依赖

在exclusion标签中加入A的坐标 

5 依赖冲突的时候 解决原则是

短路优先 哪条依赖路线短 先解析谁

路线长度一样时 哪个先声明的优先解析谁

6 聚合和继承

对每个项目一个个的install到中心仓库效率太低

用一个主容器包含他们 将主容器的packaging类型改为pom

加入modules标签 在一个个module标签中声明

继承就是提前公用的依赖放到父类中 放入dependecyManagement中

可以将里面的一些标签声明成属性 用el表达式类似的表示出来

然后在父类中加入parent标签 加入父类坐标删除之前的依赖jar包 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值