目录
maven依赖传递
问题一:依赖冲突
方法一:使用maven提供的依赖调解原则
方法二:排除依赖
方法三:版本锁定
分模块构建maven工程
Maven的原理
主要负责依赖管理和项目构建
- 依赖管理:对项目jar包的管理
- 项目构建:通过命令可以完成项目清理、编译、测试、报告、打包、部队的整个过程。
mave的仓库类型
- 本地仓库
- 远程仓库
- maven中央仓库
- maven私服
- 其它公共远程仓库
maven常用命令
- clean:清理
- compile:编译
- test:测试
- package:打包
- install:安装
maven依赖传递
问题一:依赖冲突
方法一:使用maven提供的依赖调解原则
第一声明者优先原则,路径近者优先原则
第一声明者优先原则:定义在前面的有效,定义在后面的就会被忽略
路径近者优先原则:以路径近者为准(路径:依赖的传递路径)
方法二:排除依赖
org.springframework
spring-webmvc
5.0.5.RELEASE
org.springframework
spring-beans
org.springframework
spring-aop
4.2.8.RELEASE
结果:beans的版本和aop一致
方法三:版本锁定
采用直接锁定版本的方法确定依赖jar包的版本
步骤
- 在dependecyManagement标签中锁定依赖的版本(注意 这个步骤仅仅是锁定,并未导入jar包)
- 在dependencies标签中声明需要导入的maven坐标
org.mybatis mybatis3.4.5 org.mybatis mybatis
分模块构建maven工程
一个项目,maven工程可以将其分解成若干个模块
父工程与子工程的关系是继承关系,子工程自动继承父工程的资源
子工程与子工程的关系是依赖,需要手动添加依赖子工程的资源
步骤:
父工程的打包方式:pom
org.example maven_ssmpom 1.0-SNAPSHOT
子工程继承父工程:自动生成
web层继承父工程
maven_ssm org.example 1.0-SNAPSHOT 4.0.0
在子工程里添加依赖
web层依赖service层
org.example maven_service1.0-SNAPSHOT
父工程:maven的聚合
maven_dao maven_service maven_web
目录结构
web层的applicationContext.xml 引入两个配置文件



