随笔1(初识maven)

1. MAVEN 简介

(1)什么是maven

maven 是一个软件开发的管理工具,它主要的工作是 : 依赖管理,项目构建

(2)使用Maven的好处

能够集中管理jar包,并提供一键构建

(3)maven的常用命令

命令描述
compile
test
package
install
deploy
clean
site

(4)maven 工程目录结构

在这里插入图片描述

(5)maven的依赖范围

依赖范围对编译classpath 有效对测试classpath有效对运行时classpath有效
compile
test××
provided×
runtime×

(6)maven的概念模型
在这里插入图片描述

2. MAVEN 的依赖传递

(1)在maven中依赖传递是有范围的

  • 在user-dao模块中引入了junit模块,将scope设置为test.
  • 在user-service 引入 user-dao模块,我们会发现我们访问不了junit

(2)规则图示
在这里插入图片描述
(3)传递原则一,纵坐标直接依赖

# 1. A 依赖 B,B 是 A 的直接依赖。
# 2. 在 A 的 pom.xml 中添加 B 的坐标。

(4)传递原则二,横坐标 传递依赖

B 依赖 C,C 是 A 的传递依赖。

(5)传递原则三,中间部分:传递依赖的范围,A 依赖C的范围

3. MAVEN的依赖传递原则

3.1 分类

(1)第一声明者优先原则
(2)路径近者优先原则

3.2 第一声明者优先原则

谁先申明,就用谁的。跟坐标代码的顺序有关
测试:
添加struts2-spring-plugin(2.3.24)在前,spring-context(4.2.3.RELEASE)在后。
在这里插入图片描述
结果
在这里插入图片描述
如果将上边struts-spring-plugins和spring-context顺序颠倒,系统将导入spring-beans-4.2.3。
在这里插入图片描述
结果:
在这里插入图片描述
分析:
由于spring-context在前边以spring-context依赖的spring-beans-4.2.3为准,所以最终spring-beans-4.2.3添加到了工程中。

3.2 路径近者优先原则

struts2-spring-plugin(2.3.24)跟spring-context(4.2.3.RELEASE)都会添加spring-beans的依赖。Strut2-spring-plugin会引入spring-beans.3.0.5, 而spring-context会引入spring-beans.4.2.3。如果这时我们直接加入新的依赖叫spring-beans.4.2.4.RELEASE
在这里插入图片描述
结果:
在这里插入图片描述
分析:系统中如果要引入spring-beans,可以有以下方法

  • 通过引入struts2-spring-plugin,它会引入spring-beans.3.0.5的版本。需要经过的路径为2个节点
  • 通过引入srping-beans-4.2.3,它会引入spring-beans.4.2.3的版本,需要经过的路径为2个节点
  • 如果直接引入spring-beans-4.2.4,只需要经过1个节点
    因此不管spring-beans.4.2.4的位置在哪,系统始终都是引入spring-beans.4.2.4的版本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值