当前位置: 首页 > news >正文

maven的scope总结

scope类型

    • compile
    • test
    • provided
    • runtime
    • system
    • import

compile

编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的Maven 依赖,对于编译、测试、运行三种classpath 都有效。大部分是这种,在编译、测试和运行的时候都需要使用该依赖。


test

测试依赖范围。使用此依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此类依赖。典型的例子是JUnit,它只有在编译测试代码及运行测试的时候才需要。

scope 为 test 的依赖只在测试时使用,用于编译和运行测试代码,不会参与项目的打包


provided

已提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时无效(对运行的classpath无效)。典型的例子是 servlet-api, 编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器已经提供,就不需要Maven重复地引人一遍。既然运行时容器会提供,所以 scope 为 provided 的依赖不会参与项目的打包。


runtime

运行时依赖范围。使用此依赖范围的Maven依赖,对于测试和运行class-path有效,但在编译主代码时无效(对编译的classpath无效)。典型的例子是JDBC驱动实现,项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动


system

系统依赖范围。该依赖与三种 classpath 的关系,和 provided 依赖范围完全一致。但是,system 范围的依赖不会从 maven 仓库下载,而是从本地文件系统获取,使用 system 范围的依赖时必须通过 <systemPath> 元素显式地指定依赖文件的路径。

由于此类依赖不是通过 Maven 仓库解析的,而且往往与本机系统绑定,可能造成构建(构建的产物有:classes和artifact)的不可移植,因此应该谨慎使用。

其中元素 <systemPath> 可以引用环境变量


import

导入依赖范围,该依赖范围不会对三种 classpath 产生影响,该依赖范围只能与 <dependencyManagement> 元素配合使用,其功能为将目标pom.xml 文件中元素 <dependencyManagement> 的配置导入合并到当前 pom.xml 文件的元素 <dependencyManagement> 中。

http://www.lryc.cn/news/154390.html

相关文章:

  • Linux执行命令
  • Nginx 配置中root和alias的区别分析
  • AP51656 PWM和线性调光 LED车灯电源驱动IC 兼容替代PT4115 PT4205
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR部署后无法正常启用是什么问题?该如何解决?
  • Kubernetes v1.25.0集群搭建实战案例(新版本含Docker容器运行时)
  • RabbitMQ、Kafka和RocketMQ比较
  • http和https区别,第三方证书如何保证服务器可信
  • 【内网穿透】使用Nodejs搭建简单的HTTP服务器 ,并实现公网远程访问
  • Linux中的多线程剖析
  • uniapp 集成蓝牙打印功能(个人测试佳博打印机)
  • pdf文件过大如何缩小上传?pdf压缩跟我学
  • 设计模式之建造者模式与原型模式
  • 合并到pdf怎么合并?这个方法了解一下
  • vue使用jsencrypt实现rsa前端加密
  • 微波系统中散射参量S、阻抗参量Z及导纳参量Y之间的关系及MATLAB验证
  • 发收一体的2.4G射频合封芯片Y62G,内置九齐MCU
  • 深度学习中epoch、batch、step、iteration等神经网络参数是什么意思?
  • 『SpringBoot 源码分析』run() 方法执行流程:(2)刷新应用上下文-准备阶段
  • WordPress Page Builder KingComposer 2.9.6 Open Redirection
  • 第五章:中国革命新道路
  • PMP-沟通管理的重要性
  • 【Sentinel】降级源码:插槽DegradeSlot与断路器的实现
  • 【Apollo】开启Apollo之旅:让自动驾驶如此简单
  • maven搭建spring项目
  • Java“牵手”阿里巴巴商品详情数据,阿里巴巴商品详情API接口,阿里巴巴国际站API接口申请指南
  • MYSQL调优之思路----sql语句和索引调优
  • 论文阅读_变分自编码器_VAE
  • springboot整合elasticsearch使用案例
  • Unity制作下雨中的地面效果
  • windows从0搭建python3开发环境与开发工具