目录

  • compile
  • provided
  • runtime
  • test
  • system

compile

编译范围,默认 scope,在工程环境的 classpath(编译环境)和打包(如果是 WAR 包,会包含在 WAR 包中)时候都有效。

provided

容器或 JDK 已提供范围,表示该依赖包已经由目标容器(如 tomcat)和 JDK 提供,只在编译的 classpath 中加载和使用,打包的时候不会包含在目标包中。最常见的是 j2ee 规范相关的 servlet-api 和 jsp-api 等 jar 包,一般由 servlet 容器提供,无需在打包到 war 包中,如果不配置为 provided,把这些包打包到工程 war 包中,在 tomcat6 以上版本会出现冲突无法正常运行程序(版本不符的情况)。

runtime

一般是运行和测试环境使用,编译时候不用加入 classpath,打包时候会打包到目标包中。一般是通过动态加载或接口反射加载的情况比较多。也就是说程序只使用了接口,具体的时候可能有多个,运行时通过配置文件或 jar 包扫描动态加载的情况。典型的包括:JDBC 驱动等。

test

测试范围,一般是单元测试场景使用,在编译环境加入 classpath,但打包时不会加入,如 junit 等。

system

系统范围,与 provided 类似,只是标记为该 scope 的依赖包需要明确指定基于文件系统的 jar 包路径。因为需要通过 systemPath 指定本地 jar 文件路径,所以该 scope 是不推荐的。

<dependency><groupId>net.neoremind</groupId><artifactId>sshxcute</artifactId><version>1.0</version><scope>system</scope><systemPath>${pom.basedir}/lib/sshxcute-1.0.jar</systemPath>
</dependency>

当 scope 为 system 的时候打包不会自动打包进去的,所以要添加一个参数才能打包进去的

<build><plugins><!-- 打包插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin></plugins></build>

参考资料
https://blog.csdn.net/lz619719265/article/details/82352562

maven pom 文件的 scope,scope=system 时打包打不进相关推荐

  1. Maven Pom文件中的scope含义

    一.scope作用 scope主要是为了管理依赖的部署,确定依赖的使用范围.使用scope标签,可以很方便.直观的进行依赖的总体管理. 二.scope的使用 compile(默认值) 缺省值,会随一起 ...

  2. jenkins修改pom文件_jenkins小插曲-maven pom文件插件配置

    jenkins工作空间的文件还在workspace下面,现在将它自动部署到tomcat的webapps下面,需要在pom.xml文件中配置部署插件. 准备工作: 配置tomcat的访问权限,在mave ...

  3. Maven pom 文件解释

    1 - 什么是构建? 我们都知道,写完代码之后需要进行编译和运行,以笔者自身为例,使用 Eclipse 写完代码,需要进行编译,再生成 war 包,以便部署到 Tomcat. 在编写 Java 代码的 ...

  4. 【转载】Maven pom文件详解

    什么是pom?     pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的 ...

  5. Maven Pom文件标签详解

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  6. maven:pom文件详细信息

    一.maven项目的目录结构 ​ pom文件定于了一个maven项目的maven配置,一般pom文件的放在项目或者模块的根目录下. ​ maven的遵循约定大于配置,约定了如下的目录结构: 目录 目的 ...

  7. Maven的pom文件

    本文参考于:https://blog.csdn.net/qq_47759220/article/details/119079757 一.maven项目的目录结构 pom文件定于了一个maven项目的m ...

  8. maven中pom文件解析

    pom文件是maven中最重要的文件,以上命令的也需要根据pom文件进行运行.一般在构建完maven项目后需要修改pom文件添加诸如依赖关系,打包机制及一些项目的详细信息.一般的pom包含如下一些基本 ...

  9. java中pom文件详解

    目录 一.maven项目的目录结构 二.根元素和必要配置 三.父项目和parent元素 四.项目构建需要的信息 1.路径管理 2.资源管理 3.插件管理 4.构建扩展 5.其他配置 五.项目依赖相关信 ...

  10. kafka 的pom文件_基于SparkStreaming+Kafka+HBase实时点击流案例

    大数据技术与架构点击右侧关注,大数据开发领域最强公众号! 暴走大数据点击右侧关注,暴走大数据! 背景 Kafka实时记录从数据采集工具Flume或业务系统实时接口收集数据,并作为消息缓冲组件为上游实时 ...

最新文章

  1. 中科大影响超越清华北大
  2. 程序猿才感同身受的10个图!
  3. SDN你必须知道的十大问题——SDN有哪些开源项目
  4. 安卓模拟器 Genymotion 安装
  5. ORACLE HANDBOOK系列之六:ODP.NET与复杂的PL/SQL数据类型(Using ODP.NET To Deal With Complex PLSQL Data Types)...
  6. Discuz X2 模块模板代码详解,DIY更容易!
  7. 事务回滚什么意思 try_Spring事务管理(一)快速入门
  8. html只能输入两位小数,JQuery控制input只能输入数字和两位小数(有关金额)代码...
  9. educoder MongoDB 复制集 分片
  10. iOS蓝牙开发之数据传输精华篇
  11. Xposed框架安装失败
  12. 用html把图片整体往左挪动,网页制作如何让图片从左到右循环移动
  13. WIN10使用VEH+硬件断点实现不修改代码完成破解
  14. 手机银行消息服务器,服务与功能_手机银行_服务介绍_个人电子银行_电子银行频道_建设银行...
  15. 45句绝美宋词,哪一句触动了你?
  16. 2021年的诀尘子和Vue
  17. 2022/1/23(每周总结)
  18. linux内核中的文件描述符(一)--基础知识简介
  19. WBSC 世界棒垒球总会·美洲
  20. PHP个人发卡网源码支持当面付/码支付/易支付+免签即时到账全解密

热门文章

  1. 【背包问题】基于matlab遗传算法求解多背包问题【含Matlab源码 122期】
  2. java field setfont_java高手请进!
  3. 二项分布python实现_初级概率分布的Python实现
  4. 实现无缝滑屏怎么实现_无缝扩展人工智能以实现分布式大数据
  5. openai-gpt_GPT-3的不道德故事:OpenAI的百万美元模型
  6. 互联网搜索的哪些环节 机器学习_机器学习、深度学习以及强化学习在金融领域有哪些应用?...
  7. PyCharm中的一些设置
  8. 计算机usb速度设置,怎样提升USB2.0的速度 注册列表修改法【详解】
  9. kettle 内存设置_Kettle大数据量转换报错ora-04030: 在尝试分配484字节时进程内存不足...
  10. xml中特殊含义的字符_mybatis中的作用