maven中scope的范围

Maven中scope依赖范围和依赖的传递性 Maven中使用scope来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile,provided,runtime,test,system等。scope主要是用在pom.xml文件中的依赖定义部分 <dependency> <groupId>mysql</groupId> <artifactId&g... 阅读详情

在这里插入图片描述

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.0.1</version> 
    <scope>provided</scope> <!-- 这里 -->
</dependency>
<dependency> 
    <groupId>javax.servlet.jsp</groupId> 
    <artifactId>jsp-api</artifactId> 
    <version>2.1</version> 
    <scope>provided</scope> <!-- 这里 -->
</dependency> 
    * 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 仓库中引用赖)。

依赖范围对传递依赖的影响
在这里插入图片描述

伯德图逆向工程:用MATLAB从扫频数据中提取系统特性的5个关键步骤 本文详细介绍了使用MATLAB从扫频数据中提取系统特性的5个关键步骤,包括数据预处理、频响特性提取、相位解缠绕、系统特性反演和结果验证。通过伯德图逆向工程技术,工程师可以有效分析黑箱系统的频率响应特性,解决噪声干扰和相位跳变等实际问题,提升控制系统调试效率。 阅读详情

相关推荐

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+

Maven依赖中Scope的几个取值

在Maven项目的pom.xml文件中,通常会给dependency设置scope属性,规定依赖jar包的使用范围 scope有以下5个取值: compile: 编译范围,缺省值,适用于所有阶段,项目测试、打包发布期间都有效 provided: 已提供范围,该依赖包已经由目标容器(如tomcat)和JDK提供,只在编译环境下有效,打包时不会加入,如servlet-api和jsp-api等ja...

pandalovey的博客 3149

【牛股启动线】副图指标使用技术说明,图文案例分享,通达信炒股指标

如上图,在紫色线在黑色虚线上时,在出现紫色柱线时,通常会出现强势拉升的行情​。柱线加长加上紫色线上扬,进场跟随做多抓强势行情,紫色柱线和紫色线同时做多持续则可以继续持股。如上图,副图指标【牛股启动线】,指标信号包括紫色线走势信号和紫色柱线信号,以及底部的四条虚线技术信号​,还有一条绿色的参考线,一条黑色的虚线两天分档线。如上图,参考买点,紫色柱线开始出现时进场买点,在上图标记的位置对应的就是进场买点​。紫色柱线加长+紫色线上扬,多头共振持股,行情继续拉升阶段,持股待涨或顺势​进场做多。

weixin_69760830的博客 1913

【Maven】<scope>provided</scope>

scope> 被设置为 provided 是因为它主要是一个编译时工具,用来生成样板代码,如 getter、setter 方法等。一旦代码被编译,Lombok 的工作就完成了,运行时不再需要它。因此,在打包应用时,不需要将其包含在其中,因为它在运行时不是必需的。这就是为什么通常将其 scope 设置为 provided。在Maven中,“provided”是一个常用的依赖范围,它表示某个依赖项在编译和测试阶段是必需的,但在运行时则由外部环境提供,不需要包含在最终的项目包中。在运行时勾选↓↓↓↓↓↓。

five小点心的博客 1万+

Element-UI全面入门与实战技巧

Element-UI 是一套基于 Vue 2.0 的桌面端组件库,由饿了么前端团队开发并维护。它提供了一系列丰富的 UI 组件,旨在帮助开发者快速构建高效、美观的 Vue 应用程序。Element-UI 是一款遵循 Ant Design 设计规范的 Vue UI 库,它涵盖了从按钮、输入框、选择器到表格、标签、进度条等众多常用的界面元素。Element-UI 的组件不仅功能全面,而且易于定制,使得开发者可以快速实现个性化的页面设计。Element-UI 的特点包括:在使用 Element-UI 之前,需要确

全世界的博客 2864

从零开始用TS开发babylonjs - 本机环境搭建

babylonjs,初始化本地安装,web3d引擎

han3527638的专栏 798

Maven中scope(作用范围)详解

一篇文章彻彻底底的掌握maven当中的依赖关系,以及scope作用范围。

怪咖@的博客 2万+

物联网设备数据是如何流转的:基于EMQX与TDengine的前后端分离项目实践

背景 在我写了TDengine极简实战:从采集到入库,从前端到后端,体验物联网设备数据流转这篇文章后,不少读者朋友评论、私信说可不可以提供代码参考学习下,那必须是可以的。那篇文章主要介绍了数据采集、数据传输、数据转发、数据解析、数据存储、数据查询、数据呈现、数据导出、消息推送的物联网设备数据流程过程,作为体验 TDengine 的极简实战项目,没引入过多的业务设计(复杂功能)以及异步解耦设计(消息中间件)。 在整理代码的过程中,我发现虽然整个项目并不复杂,但是涉及到的技术点较多,有必要对关键的组件进行说明

Heartsuit的博客 9413

<scope>provided</scope> 关于maven依赖中的scope的作用和用法

本文转载于「站在风口上的猪」的原创文章,原文链接:https://blog.youkuaiyun.com/qq_36874292/article/details/81072717 举例如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> ...

montaintai的博客 1万+

【Power Compiler手册】13.UPF多电压设计实现(2)

在这个场景中,在约束传播期间,工具会比较BLOCK中的原子电源域与TOP设计中的原子电源域,并且确认所有属性都匹配。因此,域合并成功,工具会丢弃来自BLOCK的域。在这个场景中,在约束传播期间,工具会比较BLOCK中的原子电源域与TOP设计中的非原子电源域,发现电源域不匹配。在这个场景中,在约束传播期间,工具会比较BLOCK中的非原子电源域与TOP设计中的原子电源域,发现电源域不匹配。在这个场景中,在约束传播期间,工具会比较BLOCK中的原子电源域与TOP设计中的原子电源域,发现它们的一些属性不匹配。

QRBQ 751

R语言导入.dta文件实战

R语言导入.dta文件实战 #导入.dta文件的基本语法 R的导入.dta文件最简单方法是使用haven库中的read_dta()函数。 此函数使用以下基本语法: data <- read_dta('C:/you-path/file_name.dta') #包的安装和导入 install.packages('haven') library(haven) #下载.dta数据文件 我们将从该页面下载名为cola.dta的.dta文件。 #导入.dta文件 ..

data+scenario+science+insight 1万+

Maven中的<scope>元素总结

Maven的<scope>元素定义了依赖项的作用范围,控制其在编译、测试、运行等阶段的可见性及是否打包到最终产物中。常见scope包括:compile(默认)、provided(容器提供)、runtime(运行阶段)、test(仅测试)、system(本地路径)和import(依赖管理)。合理使用scope可优化构建过程,减少冲突。

个人学习所用博客,记录日常学习的过程。 1112

华南理工大学-大学物理实验-绪论作业

3.用公式测量某圆柱体铝的密度,测得直径=2.0420.003(cm),高=4.1260.004(cm),质量=36.4880.006(g)。计算铝的密度和测量的标准差,并以测量结果表达式表示之。(要求判别和剔除异常数据)(30分)(了解图解法的注意事项,大学物理实验众多实验数据处理采用这种方法,如PN结温度特性研究,光电效应与普朗克常数的测定,霍尔效应测磁场等等,注意规范作图)实验测得温度与对应的金属丝的长度的数据如下表所示。(了解异常数据的判断方法及具体判断过程,30分的题目n(*≧▽≦*)n)

mohen_777的博客 581

Maven scope 依赖范围详解

Maven的生命周期存在编译、测试、运行、打包这些过程,那么显然有些依赖只用于测试(test),比如 junit ; 有些依赖编译用不到,只有运行的时候才能用到( runntime ),比如 mysql 驱动包在编译期就用不到,而是在运行时用到的; 还有些依赖在编译期要用到,而运行期不需要提供(provided),因为有些容器已经提供了,比如 servlet-api 在 tomcat 中已经提供了,我们只需要的是编译期提供而已。 总结说来,在POM 4中,<dependency>中还引入了&lt

猎人在吃肉 4213

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Maven 依赖范围(Scope)

在 Maven 中,依赖范围(Scope)用于控制依赖在不同构建阶段的可用性,以及依赖是否会被传递到其他项目中。合理设置依赖范围可以优化项目结构、减少冲突,并确保构建的可重复性合理使用maven依赖,可以优化项目依赖结构等,

2401_89221445的博客 548

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

彻底搞懂Maven的依赖范围(scope)

通过例子彻底搞懂Maven的scope 依赖范围

hjji12的博客 8616

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Maven中scope的依赖范围

Maven中scope的依赖范围 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> ...

Cold 225

maven依赖范围scope

<scope>标签限定pom的依赖范围 依赖的范围就是控制依赖<dependency>和三种classpath的关系 maven提供了三种class path: 1. 编译 2.测试 3.运行 三种class path5 这张图中junit的scope是test ,表明junit只存在于测试的class path中。 一共有6种scope范围: ...

God_Mood的博客 231

JavaWeb——Maven(7/8):依赖管理-依赖范围(介绍,控制依赖范围,scope值、验证)

依赖的jar包,默认情况下,可以在任何地方使用。可以通过...设置其作用范围。 作用范围: 主程序范围有效。(main文件夹范围内) 测试程序范围有效。(test文件夹范围内) 是否参与打包运行。(package指令范围内)

li13437542099的博客 1211

Maven scope依赖范围详解

1、Maven介绍   Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven是一个管理工具,可以对 Java 项目进行构建、依赖管理。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目, 2、Maven特点  项目设置遵循统一的规则  任意工程中共享  依赖管...

1 441

Maven scope 几种范围

1.compile 编译范围,默认scope,在工程环境的classpath(编译环境)和打包(如果是WAR包,会包含在WAR包中)时候都有效。 2.provided 容器或JDK已提供范围,表示该依赖包已经由目标容器(如tomcat)和JDK提供,只在编译的classpath中加载和使用,打包的时候不会包含在目标包中。最常见的是j2ee规范相关的servlet-api和jsp-api等jar包,一般由servlet容器提供,无需在打包到war包中,如果不配置为provided,把这些包打包到工程war包中

u014212540的博客 2489

Maven中的依赖作用范围(scope)

1.Maven中的依赖作用范围概述 Maven中使用scope来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile,provided,runtime,test,system等。scope主要是用在pom.xml文件中的依赖定义部分,例如: <dependency> <groupId>org.springframework...

hanglife的博客 5184

​Maven scope依赖范围详解

maven scope依赖范围,大致有compile、provided、runtime、test、system等几个。

liaomingwu的专栏 311

Maven依赖范围(scope)参数值及其作用

Maven依赖范围(scope)参数值及其作用

道友 979

maven的scope 依赖范围

-定义多环境--> < profiles > < profile > < id > env_dep < properties > < jdbc.url > jdbc:mysql://127.0.0.1:3306/ssm_db

weixin_45442529的博客 253

【Maven】属性scope依赖作用范围详解

Maven中使用 scope 来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile,provided,runtime,test, syste,import 等。scope 主要是用在 pom.xml 文件中的依赖定义部分

抓娃攻城师 4065
上一篇: Spring源码中容器的基本实现
下一篇: Spring注解中Configuration和Bean的使用讲解
鹤野云间
博客等级 码龄9年 4粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值