Maven 标签scop值配置介绍
Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了。今天梳理一下maven的scope。
scope的分类
compile
默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
test
scope为test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。比较典型的如junit。
runntime
runntime表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过编译而已,说实话在终端的项目(非开源,企业内部系统)中,和compile区别不是很大。比较常见的如JSR×××的实现,对应的API jar是compile的,具体实现是runtime的,compile只需要知道接口就足够了。oracle jdbc驱动架包就是一个很好的例子,一般scope为runntime。另外runntime的依赖通常和optional搭配使用,optional为true。我可以用A实现,也可以用B实现。
provided
provided意味着打包的时候可以不用包进去,别的设施(Web Container)会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是在打包阶段做了exclude的动作。
system
从参与度来说,也provided相同,不过被依赖项不会从maven仓库抓,而是从本地文件系统拿,一定需要配合systemPath属性使用。
Maven 标签scop值配置介绍相关推荐
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...
- Maven的安装、配置及使用入门
原文地址为: Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联 ...
- Maven的settings.xml配置详解
Maven的settings.xml配置详解 1 基本介绍 maven的两大配置文件:settings.xml和pom.xml.其中settings.xml是maven的全局配置文件,pom.xml则 ...
- n3k配置vpc是否还需要配置hsrp_VPC配置介绍
VPC(Virtual Port-Channel)是Cisco Nexus系列交换机中的一个特性.它支持一个跨机箱的二层Port-Channel.对于第三方设备来说(交换机或服务器)物理上是连接到了两 ...
- Maven_1.了解Maven以及其安装配置
1.了解Maven 介绍Maven 介绍: Maven是Apache基金会下一个跨平台的项目管理工具,用于Java项目的构建.项目信息(项目名称,位置...)管理和依赖(JAR包)管理. 附加:依赖管 ...
- 你真的了解Maven pom.xml 的配置吗?【详解maven pom】
Maven POM POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖 ...
- Maven系列2--pom.xml 配置详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- vue-router配置介绍和使用方法(二)
本文主要介绍:router-link路由的配置方法? vue-router路由设置 需求目的:通过<a></a>标签的点击,实现页面的数据跳转 要点: 去哪里? <rou ...
- MAVEN的安装与配置教程(超详细版)
前言:在MAVEN的安装和配置开始之前,先给大家介绍一下MAVEN. 1.MAVEN的认识 1.1什么是MAVEN? Maven是一个项目构建及管理工具,开发团队几乎不用花多少时间就能够自动完成工程的 ...
最新文章
- 使用VScode开发C语言程序,环境安装配置,保姆级教程
- python grequests极限_Python使用grequests并发发送请求
- iOS-----使用NSURLConnection
- 计算机科学与技术属于教育技术学么,计算机教育-计算机教育与教育技术学有什么不同吗?我学的专业是计算机教育,我想 爱问知识人...
- python常用算法有哪些_python常见的排序算法有哪些?
- 取景框图片 小程序_微信小程序实现身份证取景框拍摄
- python预测数据怎么写_Python代写时间序列选择波动率预测指数收益算法分析案例...
- J2ME结构与相关规范介绍
- c语言函数man,Linux下C语言编程有困难找man
- 10 件在 PHP 7 中不要做的事情
- 犀牛书学习笔记(3):函数
- 作为一名运维工程师我们需要哪些技术
- HBase 源码解析
- 腾讯云html5直播开发,腾讯云IM开发 直播 聊天室
- 神经网络浅讲:从神经元到深度学习
- 进程线程----转自林海峰
- CCS7.2中如何切换烧写RAM和Flash版本程序
- python3代码换行与不换行问题
- ChatGPT 可以联网了!浏览器插件下载
- java cas logout无效_CAS logout 解决方案
热门文章
- 电视直播加点播,800+直播频道全网影视资源
- 教育培训机构如何打赢“教育营销流量战“?
- yolov5训练操作步骤
- 家用洗地机器人哪个牌子好性价比高?家用洗地机品牌排行榜前十名
- 移动硬盘和电脑内置硬盘使用时的区别
- 中国农药行业发展趋势及十四五产销需求预测报告2021-2027年版
- 如何构建企业内的 TiDB 自运维体系
- 笔记............................
- 极米newz6x、极米new z8x和当贝D3X的区别哪个好
- Swift语言入门学习