1.Maven介绍
maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建。
依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。
项目构建:通过maven的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。
2.Maven的仓库类型
1.本地仓库
2.远程仓库
② maven私服(公司局域网内的仓库,需要自己搭建)
)
本地仓库---》maven私服---》maven仓库
注:使用阿里云远程仓库
3.Maven的常用命令
注:之前是cmd黑窗口操作,现在直接点击命令
4.Maven的依赖传递
4.1依赖传递易出现的问题,依赖冲突
造成依赖冲突项目可能出现问题,也可能不出现问题,但是项目无法正常运行,所以要去解决依赖之间的冲突
4.2解决依赖冲突的方式
4.2.1第一声明者优先原则
导入依赖包时谁靠前先用谁
4.2.2路径近者优先
两个依赖包之间距离近那么先用距离近的
4.2.3排除依赖
可以使用exclusions标签将传递过来的依赖排除出去。(将spring-mvc中的spring-beans排除)
4.2.4版本锁定
- 第一步:在dependencyManagement标签中锁定依赖的版本
- 第二步:在dependencies标签中声明需要导入的maven坐标
4.2.5properties的使用
- 在properties中使用自定义标签填写版本号
- 在dependencyManagement标签中填写el表达式
5.Maven聚合工程
5.1拆分方式:
1.按功能模块划分
按照业务模块进行拆分,每个模块拆分成一个maven工程,例如将一个项目分为用户模块,订 单模块,购物车模块等,每个模块对应就是一个maven工程
2.按层划分
按照层进行拆分,例如持久层、业务层、表现层等,每个层对应就是一个maven工程不管上面那种拆分方式,通常都会提供一个父工程,将一些公共的代码和配置提取到父工程中进行统一 管理和配置。
6.主要代码部分
父模块将子模块包裹
标明版本名称和版本号,随便写
想用谁的资源就引入谁的包
配置资源怎么应用呢
packing配置:父模块使用pom,子模块jar
6.总结:
- Maven聚合的思想就是将模块拆分,然后进行组装,通过继承的手段(在pom文件中配置)实现各种资源的相互使用,资源位置可以随意放,但是要避免形成循环结构,规定是死的,代码是活的。