MAVEN_依赖管理
来源:互联网 发布:无线传感器网络三要素 编辑:程序博客网 时间:2024/06/04 20:09
1. maven的坐标
maven世界拥有大量构建,我们需要用一个规范(坐标)来作为某个构建的唯一标识(类似于数据库中的主键)。
maven坐标组成:
groupId:定义当前maven项目隶属项目 artifactld:定义实际项目中的一个模块 version:定义项目的当前版本 packing:定义该项目的打包方式
2. 依赖范围
给jar包的作用范围进行限制,根据不同需求,进行不同等级的限制。在pom.xml中的<dependency>
标签下配置<scope>
子标签。
3. 依赖管理
<1>传递性依赖
举个栗子来讲,有三个角色分别为 校长、老师和学生。直接依赖:老师吩咐学生去做事情,对老师而言,学生就是直接依赖。间接依赖:校长吩咐老师去做事情,老师又叫学生去做事情。对校长而言,老师是直接依赖,学生就是间接依赖。
<2>可选依赖
控制当前资源是否向下传递,在pom.xml中的<dependency>
标签下配置<optional>
子标签。其默认值为false,如果配置成true,那么就会使得配置了这个optional的jar包不跟随项目传递而传递。
<3>排除依赖
相对于可选依赖,排除依赖具有主动权,可以自己选择要不要这个jar包,而对于选择依赖就是被动了,自己没有权利选择,人家给你了,你才有排除依赖权,人家不给你jar包,你也没办法选择要还是不要。
<dependencies> <!-- 设置排除 --> <!-- 排除依赖必须基于直接依赖中的间接依赖设置为可以依赖为false --> <!-- 设置当前依赖中是否使用间接依赖 --> <exclusions> <!--具体排除--> <exclusion> <groupId>cn.itcast</groupId> <artifactId>One</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
<4>依赖冲突
如果直接与间接依赖中包含有同一个坐标不同版本的资源依赖,以直接依赖的版本为准(就近原则)。
如果直接依赖中包含有同一个坐标不同版本的资源依赖,以配置顺序下方的版本为准(就近原则)。可以理解成最后的修改覆盖了之前的修改。
阅读全文
0 0
- MAVEN_依赖管理
- maven_项目的依赖、聚合、继承
- maven_项目的依赖、聚合、继承
- Maven_项目搭建启动问题_pom文件依赖出现问题
- maven_常用命令
- maven_安装
- Maven_入门
- MAVEN_生命周期
- Maven_基础
- 依赖管理
- maven_部署工程到私服
- maven_包丢失
- maven_学习笔记
- maven_仓库详解
- Maven_中文编码问题
- Maven_使用和注意事项
- maven_如何导包
- ejb依赖管理
- cadence学习问题记录
- 1108. Finding Average (20)
- Catch That Cow
- 获取文件夹下所有文件和文件夹(递归)
- C++的数组元素为什么不能是引用类型
- MAVEN_依赖管理
- 让Win32窗口程序拥有控制台窗口
- 一条 sql group by
- PL/SQL结构
- [USACO3.3.5]A Game
- getLocationInWindow()与getLocationOnScreen()
- NIOP2015Day2T1 跳石头解题报告
- 第七章 函数表达式(闭包重点)
- 通过ajax得到数据,显示http://localhost:8081/项目名/[object%20Object] 404 (Not Found) 错误。