pom中dependency的scope元素

scope 元素为maven dependency下面一个控制作用域的子元素,maven官方称为transitive dependencies有6个可选值,其值可以为:compile, provided, runtime, test, system and import,各自的作用为:

  1. compile:这个是maven默认的scope属性,也就是整个project的classpath

2.provided: provided与compile基本相同,但表示需要JDK或者容器提供一个运行时的依赖,比如说当部署运行一个web应用时,这时候 servlet api或者类似的J2EE的API需要将scope写成provided,该属性不具备传递性,不会出现在打出的war包中

  1. runtime:显然,就表示该依赖不一定需要在编译期使用,只需要运行时使用,包括运行时classpath和test classpath

  2. test:表示测试时依赖使用

5.system:与provided类似 唯一不同的时 需要提供一个明确包含该jar,该jar包的aritfact是基于本地,不是maven 三方库中的,正常情况下不使用

6.import: 仅maven 2.0.9版本之后才支持该scope,并且仅可用于 pom类型的依赖,该属性打破了依赖的传递性,指定使用特定的pom

    原文作者:爱回忆的小飞扬
    原文地址: https://www.jianshu.com/p/33a8a6210a63
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞