maven高级
一、基础知识回顾
-
介绍:项目管理工具,对Java项目进行依赖管理和项目构建
-
仓库类型:本地仓库和远程仓库(中央仓库或者私服)
-
常用命令:
- clean:清理
- compile:编译
- test:测试
- package:打包
- install:安装
-
坐标书写规范:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.9.RELEASE</version> </dependency>
-
maven的依赖范围:
二、依赖传递
2.1什么是依赖传递
例如:
2.2、依赖冲突
描述:由于依赖传递的现象,Spring—webmvc4.2.4依赖spring-beans-4.2.4,Spring-aop5.0.2依赖spring-beans-5.0.2,但是发现spring-beans4.2.4加入到了工程中,而我们希望spring-beans-5.0.2加入工程,这就造成了依赖冲突。
解决依赖冲突:
-
第一声明者优先原则(根据先后顺序)
-
使用路径近者优先原则
-
排除依赖:使用exclusion标签排除依赖
-
**版本锁定:**企业开发常用
第一步:在dependencyManagement标签中锁定依赖的版本
第二步:在dependencyManagement标签中声明需要导入的maven坐标