Maven的依赖的坐标和坐标的传递

Maven的依赖坐标由groupId, artifactId, version定义,依赖传递性意味着项目依赖的库可以在不同阶段(编译、测试、运行)生效。默认的compile范围适用于所有阶段,provided仅在编译和测试时使用,runtime在运行和测试需要,test仅用于测试。排除依赖传递可避免间接依赖,版本冲突时遵循就近原则。属性管理允许统一管理相同版本的多个模块。" 88663666,3991809,Java链表删除重复元素:两种高效方法解析,"['Java', '数据结构', '算法']
摘要由CSDN通过智能技术生成

Maven的依赖的坐标和坐标的传递

坐标:查找某个依赖,通过这个依赖(jar)的groupId , artifactId ,version

依赖的传递:

一个项目开发过程:
编码–>编译–>测试–>运行–>打包
在这里插入图片描述
依赖的范围:
在dependency 的标签添加一个子标签 设置依赖的范围:

  • compile:编译范围,指 A 在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在
    编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。

  • provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided
    依赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。

  • runtime:runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc 的驱动包。由于运行时需要所以
    runtime 范围的依赖会被打包。

  • test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用, 比如:junit。由于运行时不需要所以
    test范围依赖不会被打包。

  • system:system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR 文件的路径,需要指定
    systemPath 磁盘路径,system依赖不推荐使用。
    在这里插入图片描述
    在 maven-web 工程中测试各各 scop。
    测试总结:

  • 默认引入 的 jar 包 ------- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )

  • servle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值