Maven Scope取值的含义
maven依赖关系中Scope的作用
Dependency Scope
在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:
* compile,缺省值,适用于所有阶段,会随着项目一起发布。
* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
依赖范围控制哪些依赖在哪些classpath 中可用,哪些依赖包含在一个应用中。让我们详细看一下每一种范围:
compile (编译范围)
compile是默认的范围;如果没有提供一个范围,那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用,同时它们也会被打包。
provided (已提供范围)
provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。例如, 如果你开发了一个web 应用,你可能在编译 classpath 中需要可用的Servlet API 来编译一个servlet,但是你不会想要在打包好的WAR 中包含这个Servlet API;这个Servlet API JAR 由你的应用服务器或者servlet 容器提供。已提供范围的依赖在编译classpath (不是运行时)可用。它们不是传递性的,也不会被打包。
runtime (运行时范围)
runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要JDBC API JAR,而只有在运行的时候才需要JDBC
驱动实现。
test (测试范围)
test范围依赖 在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。
system (系统范围)
system范围依赖与provided 类似,但是你必须显式的提供一个对于本地系统中JAR 文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分。这样的构件应该是一直可用的,Maven 也不会在仓库中去寻找它。如果你将一个依赖范围设置成系统范围,你必须同时提供一个 systemPath 元素。注意该范围是不推荐使用的(你应该一直尽量去从公共或定制的 Maven 仓库中引用依赖)。
转自:https://my.oschina.net/boonya/blog/141276
Maven Scope取值的含义相关推荐
- MySQL外键约束On Delete、On Update各取值的含义
主键.外键和索引的区别? 主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 主索引(由关键字PRIMARY定义的索引) ...
- Action 参数的取值及其含义
Action 参数的取值及其含义 转载于:https://www.cnblogs.com/LoveFishC/archive/2012/08/18/3845726.html
- mysql on delete关键字_MySQL外键约束On Delete、On Update各取值的含义
主键.外键和索引的区别? 主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键,外键可以有重复的,可以是空值 主索引(由关键字PRIMARY定义的索引),用于表 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的快捷菜单策略(contextMenuPolicy)取值及含义
在Qt Designer中可以设置部件的快捷菜单策略,快捷菜单通过在部件上点击鼠标右键触发. 快捷菜单策略通过枚举类型Qt.ContextMenuPolicy来定义,对应枚举类型取值及含义如下: 通过 ...
- css中position的4个取值的含义
css中position的4个取值的含义 一.在我们书写css代码的时候,position取值有4个,分别是: 1. Absolute:绝对定位,是相对于最近的且不是static定位的父元素来定位 2 ...
- 目标检测结果IOU不同取值的含义 IoU=0.50与IoU=0.50:0.95
Average Precision (AP)和Average Recall (AR) AP是单个类别平均精确度,而mAP是所有类别的平均精确度. AP是Precision-Recall Curve曲线 ...
- maven scope 的作用
一: 1.Maven中的依赖作用范围概述 Maven中使用 scope 来指定当前包的依赖范围和依赖的传递性.常见的可选值有:compile, provided, runtime, test, sys ...
- ICMPv6协议中各种Type的详细取值范围及其含义
在ICMPv6中的Type字段定义中,0-127为错误消息(Error messages),而128-255为信息消息(Informational messages),其中每种Type定义一种类型及其 ...
- 下取整函数的含义_Excel将3.14159取值为3.15或3.1415? 两个函数为你效劳,拿走不谢...
Hi,大家好,我是你们的朋友波波.欢迎进入波波Excel小课堂,勤奋好学的你必将有所收获. 现实工作中,Excel表格中的数值通常是以设置小数点位数来进行取值,但结果是按四舍五入进行取舍的(局限性很大 ...
最新文章
- window系统无限试用 JAVA IDEA不限版本
- 在XX公司工作第二天,维护已有代码
- 学生档案c语言编程,学生档案管理问题
- 小程序[渲染层网络层错误] failed to load image_游戏中水的渲染技术
- 小米路由器r3gv2/r4a Lean的OpenWrt固件
- pythonQQ机器人系列:使用requests实现QQ机器人聊天(0-2)
- Matplotlib笔记(莫烦Python)
- Windows10系统破解多用户同时远程登陆
- html的个人简历边框,怎样制作简历模板边框
- 诺基亚x6 云服务器,手机上面怎么玩端游?诺基亚X6通过云电脑玩DNF教程
- GeoServer地图开发解决方案(五):基于Silverlight技术的地图客户端实现
- java.time.duration_java.time.Duration
- 24个最新创意进度条设计,分分钟让你灵感爆表!!!
- 中报业绩被华夏幸福拖累,“50元”的中国平安是否值得珍惜?
- 去掉选中div后出现的高亮淡蓝色边框
- 在VS Code中开启gdb的pretty-printer功能
- UE风格化Day7-maya的AO烘焙和SP绘制材质
- 常用图标png、ico 图标下载,图片格式转换为ico
- 进程间通信之面包师问题
- Myabtis-Plus(高级查询)
热门文章
- mongodb 数组添加_NoSQL之MongoDB——简介
- H5 使用微信开放标签跳转小程序
- java怎么输出点,Java实现控制台输出两点间距离
- autotools使用
- 全国计算机水平考试技巧,全国计算机等级考试上机考试应试技巧
- python 分词 识别_python分词如何实现新词识别
- 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(Anaconda软件使用)
- 【转】01Teams的前世今生
- html中点击照片时放大缩小,基于jquery实现一张图片点击鼠标放大再点缩小
- 可以获得索引值码_搜索引擎优化最适合什么样子的工作?