maven中的scope--依赖范围

2023-11-11

初学springboot,在maven配置中了解的,记录下来

在一个maven项目中,如果存在编译需要而发布不需要的jar包,可以用scope标签,值设为provided 

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <version>2.3.3.RELEASE</version>
            <scope>provided</scope>
        </dependency>

 

在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。依赖范围控制哪些依赖在哪些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 仓库中引用依赖)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven中的scope--依赖范围 的相关文章

  • 一次性纸杯包含的测试点

    功能方面 是否能盛水 性能 能盛多少水 能盛多少度的热水和冰水 是否容易变形 是否有隔热性能 杯底设计是否稳固不易倾斜 能够叠加多少个杯子 是否能重复使用 能够使用多少次 杯子的厚度和重量是否符合需求 是否容易被风吹倒 能够存放多少时间 安
  • IDEA 查找第三方jar里的内容

    1 Find in Path Edit gt Find gt Find in Path Scope gt Project and Libraries 说明 maven工程 貌似要下载jar source才行 2 double shift 这
  • MySQL--Group by分组与count计数(进阶)

    MySQL Group by分组与count计数 进阶 1 Group by语法 2 创建表格 3 题目代码部分 4 文末彩蛋 开心一刻 更多关于数据库知识请加关注哟 若需联系和想安装MySQL请加博主 QQ 3327908431 微信 Z
  • 具有对称性质的单参数混沌镜像系统的切换控制

    近年来 混沌已经应用到许多工程领域 例如 信息科学 复杂神经网络 信号处理 通信保密等 因此 许多学者一直探索新的混沌动力学 一些简单的光滑三维二次连续自治系统能生成混沌 1994年 Sportt提出了19个简单的混沌系统 每个系统仅有5项
  • 写一段ocr文字识别的具体实现代码

    OCR文字识别的具体实现代码如下 import cv2 读取图片 img cv2 imread example png 将图片转换为灰度图 gray cv2 cvtColor img cv2 COLOR BGR2GRAY 用Threshol
  • 串——顺序结构

    include
  • Unleashing the Power of Graph Learning through LLM-based Autonomous Agents

    本文是LLM系列文章 针对 Unleashing the Power of Graph Learning through LLM based Autonomous Agents 的翻译 通过基于LLM的自动Agent释放图学习的力量 摘要
  • mysql.的常用命令

    常用功能命令 1 导出整个数据库 1mysqldump u 用户名 p default character set latin1 数据库名 导出的文件名 数据库默认编码是latin1 23mysqldump u wcnc p smgp ap
  • LeetCode题目笔记——1566. 重复至少 K 次且长度为 M 的模式

    文章目录 题目描述 题目难度 简单 方法一 模拟 代码 C 总结 题目描述 给你一个正整数数组 arr 请你找出一个长度为 m 且在数组中至少重复 k 次的模式 模式 是由一个或多个值组成的子数组 连续的子序列 连续 重复多次但 不重叠 模
  • 数据结构学习——链表(C语言版)

    数据结构学习 链表的简单解析 一 何为链表 1 概念 2 特点 二 链表的简单实现 1 头插法 2 尾插法 3 模拟学生管理系统 一 何为链表 1 概念 链表 Linked list 是一种常见的基础数据结构 是一种线性表 但是并不会按线性
  • 公司新招了几个00后,我愿称之为卷王之王

    前几天我们公司一下子也来了几个新人 这些年轻人是真能熬啊 本来我们几个老油子都是每天稍微加会班就打算走了 这几个新人一直不走 搞得我们也不好走 2023年秋招就要开始了 最近内卷严重 各种跳槽裁员 相信很多小伙伴也在准备今年的金九银十的面试
  • java spring boot 判断用户、客户端是移动端,还是pc端

    一 设计流程 一 创建一个API 用这个API的地址 生成二维码图片 这个图片给用户扫的 二 创建二维码链接信息 例 安卓跳转到baidu com ios跳转到taobao com 三 后端系统在用户扫描后 判断用户系统 并跳转到相应地址
  • Python实现删除某列中含有空值的行

    客户需求 查看销售人员不为空值的行 数据存储情况如图 代码实现 import pandas as pd data pd read excel test xlsx sheet name Sheet1 datanota data data 销售
  • TensorFlow:常用函数介绍

    学习网址 Tensorflow中文社区 http www tensorfly cn 一 tensorflow框架笔记 1 Variable 一个Variable代表一个可修改的张量 存在在TensorFlow的用于描述交互性操作的图中 它们
  • C程序头文件注释格式

    Copyright C 2010 2011 Your Company FileName 文件名 Author 作者 Version 版本 Date 完成日期 Description 用于主要说明此程序文件完成的主要功能 与其他模块或函数的接
  • 蓝牙设备上电提示Failed to set power on: org.bluez.Error.Blocked

    NEW Controller 74 2F 68 6A 37 44 moon 0 default NEW Device 00 07 61 76 8E 78 Logitech diNovo Edge Agent registered bluet
  • 03. 微信公众号消息接收、事件推送与响应处理

    1 消息接收 官方文档 当普通微信用户向公众账号发消息时 微信服务器将POST消息的XML数据包到开发者填写的URL上 gt 接口配置信息的URL 即开发时 接收信息的接口的访问路径与微信接入的URL一致 但为 POST 请求 请求参数 依
  • 计算机毕业设计Java的工资管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java的工资管理系统 源码 系统 mysql数据库 lw文档 计算机毕业设计Java的工资管理系统 源码 系统 mysql数据库 lw文档 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 idea ec
  • QA 如何打造自身的核心竞争力?

    转载自微服务质量保障 20 讲嘉木老师 怎样理解 核心竞争力 在讲解竞争力之前先看下什么是能力 能力是指一个人完成一个目标或者任务所体现出来的素质 如技能 知识 经验以及行为等 解释中暗含了 能力是一个绝对值 正数 的意思 显得比较学术 而
  • 360度全景标定方法_一种360度全视角鸟瞰全景行车辅助标定方法与流程

    技术领域本发明涉及辅助驾驶领域 具体地说是一种360度全视角鸟瞰全景行车辅助标定方法 背景技术 随着图像和计算机视觉技术的快速发展 越来越多的技术被应用到汽车电子领域 传统的基于图像倒车影像系统在车尾安装摄像头 只能覆盖车尾周围有限的区域

随机推荐

  • 【Vue3源码】第四章 实现isReadonly和isReactive

    Vue3源码 第四章 实现isReadonly和isReactive 前言 上一章节我们实现readonly API 并且优化之前写的reactive API 这一章我们实现isReadonly和isReactive两个API 1 实现is
  • Vue中对于指令的介绍

    Vue指令 文章目录 Vue指令 1 介绍 2 指令介绍 2 1 v html 2 2 v show和v if 3 2 v else 和 v else if 3 3 v on 3 4 v bind 3 5 v for 3 6 v for 中
  • (十二)Mybatis鉴别器discriminator和延迟加载的用法

    这篇文章主要讲述Mybatis鉴别器discriminator和延迟加载的用法 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 目录 什么是鉴别器 代码示例 总结 什么是鉴别器 mybatis可以使用d
  • 微信小程序 - 修改 button 边框和背景色

    为什么80 的码农都做不了架构师 gt gt gt 微信小程序开发中使用 button 设置禁用时候 按钮会有默认的背景色和边框 下面分享下修改按钮边框和背景色 wxml代码
  • 简述SQL Server内存不断增加的原因,以及如何解决该问题。

    在启用sqlserver服务后 发现进程sqlservr exe的内存使用量从开始的100多MB持续增加 很快就高达1G以上 造成机器运行缓慢 卡机 严重影响使用 sql server 在查询大数据量的数据时 总会占用大量的内存 并且居高不
  • centos7和centos6区别:

    1 内核 centos7的内核用的是3 10 centos6的内核用的是2 6 2 文件系统 centos6 X EXT4 EXT4的单个文件系统容量达到1EB 单个文件大小则达到16TB centos7 X XFS XFS默认支持8EB见
  • c++继承中的内存布局(转)

    今天在网上看到了一篇写得非常好的文章 是有关c 类继承内存布局的 看了之后获益良多 现在转在我自己的博客里面 作为以后复习之用 谈VC 对象模型 美 简 格雷 程化 译 译者前言 一个C 程序员 想要进一步提升技术水平的话 应该多了解一些语
  • ceph分布式存储-常见OSD故障处理.md

    2 常见 OSD 故障处理 进行 OSD 排障前 先检查一下 monitors 和网络 如果 ceph health 或 ceph s 返回的是健康状态 这意味着 monitors 形成了法定人数 如果 monitor 还没达到法定人数 或
  • C++——STL容器

    首先 适配器的概念 适配器的意思就是将某些已经存在的东西进行限制或者组合变成一个新的东西 这个新的东西体现一些新的特性 但底层都是由一些已经存在的东西实现的 STL中的容器 vector 矢量 并非数学意义上的 STL最简单的序列类型 也是
  • Redis 安装系统服务报错 HandleServiceCommands: system error caught. error c ode=1073, message = CreateS

    系统已经存在该服务 需要先卸载才能重新安装 点击查看详细操作链接
  • ARC149题解

    ARC149 没有 F 题 A A A 题意 给定 n m 找到一个数字长 n 位 每位数字都相同且是 m 的倍数 题解 直接模拟 代码 B B B 题意 给定序列 A B 每次可以同时交换
  • JDK动态代理UndeclaredThrowableException异常

    UndeclaredThrowableException异常背景 最近项目上出现了 JDK动态代理UndeclaredThrowableException异常 此异常之前没有接触过 那么该异常将会导致什么呢 UndeclaredThrowa
  • 深圳讯商丨wms仓储管理系统在国内的应用方向有哪些

    wms仓储管理系统往常运用的很多 而且运用wms仓储管理系统便当 关于wms仓储管理系统在国内的应用方向有哪些呢 1 配送中心应用的wms仓储管理系统 如连锁超市的配送中心 汽车企业零配件配送中心等 这样的应用比较典型 如某医药集团物流中心
  • ffmpeg文档34-音频滤镜

    34 音频滤镜 当你配置编译FFmpeg时 先采用 disable filters可以禁止所有的滤镜 然后显式配置想要支持的滤镜 下面是当前可用的音频滤镜 adelay 延迟一个或者多个音频通道 它接受如下选项 delays 参数是以 分隔
  • Markdown基本语法

    Markdown是一种纯文本格式的标记语言 通过简单的标记语法 它可以使普通文本内容具有一定的格式 优点 1 因为是纯文本 所以只要支持Markdown的地方都能获得一样的编辑效果 可以让作者摆脱排版的困扰 专心写作 2 操作简单 比如 W
  • WebUI自动化测试之Selenium学习笔记(二)浏览器控制

    文章目录 Selenium库中webdriver模块的使用 1 浏览器控制 用例 2 鼠标控制 用例 3 键盘控制 4 获取属性信息 用例 4 窗口切换 用例 5 警告框处理 用例 6 下拉框选择操作 用例 7 文件上传 8 cookie操
  • 并行算法解决list

    并行算法序列和字符串 Scan prefix sums List ranking Sorting Merging Medians Searching String matching Other string operations 并行算法的
  • linux下如何使用 tcpdump 进行抓包详细教程

    非功能测试总览 前面的非功能测试总览种提出的 tcp网络访问dump 进行的额外补充 1 tcpdum核心参数详解 2 理解tcpdump的输出 3 常规过滤规则 4 可选参数解析 5 过滤规则组合 6 特殊过滤规则 7 如何抓取更为准确的
  • 查看linux服务主机,Linux下CodeStriker Server的搭建

    分为以下几个步骤 1 检查并安装Perl解析程序 一般情况下Lnux系统中自带perl解析程序 运行rpm qa grep perl 可以检查是否安装有 在本次安装中 检查到目标机器上装有版本号为5 8 8 10的perl解析程序 如系统中
  • maven中的scope--依赖范围

    初学springboot 在maven配置中了解的 记录下来 在一个maven项目中 如果存在编译需要而发布不需要的jar包 可以用scope标签 值设为provided