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值配置介绍相关推荐

  1. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

  2. Maven的安装、配置及使用入门

    原文地址为: Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联 ...

  3. Maven的settings.xml配置详解

    Maven的settings.xml配置详解 1 基本介绍 maven的两大配置文件:settings.xml和pom.xml.其中settings.xml是maven的全局配置文件,pom.xml则 ...

  4. n3k配置vpc是否还需要配置hsrp_VPC配置介绍

    VPC(Virtual Port-Channel)是Cisco Nexus系列交换机中的一个特性.它支持一个跨机箱的二层Port-Channel.对于第三方设备来说(交换机或服务器)物理上是连接到了两 ...

  5. Maven_1.了解Maven以及其安装配置

    1.了解Maven 介绍Maven 介绍: Maven是Apache基金会下一个跨平台的项目管理工具,用于Java项目的构建.项目信息(项目名称,位置...)管理和依赖(JAR包)管理. 附加:依赖管 ...

  6. 你真的了解Maven pom.xml 的配置吗?【详解maven pom】

    Maven POM POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖 ...

  7. Maven系列2--pom.xml 配置详解

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  8. vue-router配置介绍和使用方法(二)

    本文主要介绍:router-link路由的配置方法? vue-router路由设置 需求目的:通过<a></a>标签的点击,实现页面的数据跳转 要点: 去哪里? <rou ...

  9. MAVEN的安装与配置教程(超详细版)

    前言:在MAVEN的安装和配置开始之前,先给大家介绍一下MAVEN. 1.MAVEN的认识 1.1什么是MAVEN? Maven是一个项目构建及管理工具,开发团队几乎不用花多少时间就能够自动完成工程的 ...

最新文章

  1. 使用VScode开发C语言程序,环境安装配置,保姆级教程
  2. python grequests极限_Python使用grequests并发发送请求
  3. iOS-----使用NSURLConnection
  4. 计算机科学与技术属于教育技术学么,计算机教育-计算机教育与教育技术学有什么不同吗?我学的专业是计算机教育,我想 爱问知识人...
  5. python常用算法有哪些_python常见的排序算法有哪些?
  6. 取景框图片 小程序_微信小程序实现身份证取景框拍摄
  7. python预测数据怎么写_Python代写时间序列选择波动率预测指数收益算法分析案例...
  8. J2ME结构与相关规范介绍
  9. c语言函数man,Linux下C语言编程有困难找man
  10. 10 件在 PHP 7 中不要做的事情
  11. 犀牛书学习笔记(3):函数
  12. 作为一名运维工程师我们需要哪些技术
  13. HBase 源码解析
  14. 腾讯云html5直播开发,腾讯云IM开发 直播 聊天室
  15. 神经网络浅讲:从神经元到深度学习
  16. 进程线程----转自林海峰
  17. CCS7.2中如何切换烧写RAM和Flash版本程序
  18. python3代码换行与不换行问题
  19. ChatGPT 可以联网了!浏览器插件下载
  20. java cas logout无效_CAS logout 解决方案

热门文章

  1. 电视直播加点播,800+直播频道全网影视资源
  2. 教育培训机构如何打赢“教育营销流量战“?
  3. yolov5训练操作步骤
  4. 家用洗地机器人哪个牌子好性价比高?家用洗地机品牌排行榜前十名
  5. 移动硬盘和电脑内置硬盘使用时的区别
  6. 中国农药行业发展趋势及十四五产销需求预测报告2021-2027年版
  7. 如何构建企业内的 TiDB 自运维体系
  8. 笔记............................
  9. 极米newz6x、极米new z8x和当贝D3X的区别哪个好
  10. Swift语言入门学习