• Maven学习----Dependency scope


    首先官网API

    2.09版本之后,有6中scope。

      Dependency scope 用来限制依赖的作用范围,同时也作用于各种编译路径类路径,下面详细说明这六种路径:

    • compile
      这是默认范围,Complie依赖对于整个工程可用,这些依赖也可以传递到项目中。
    • provided
      非常类似于Compile,表示SDK或者容器在运行时提供。例如,用javaEE来编译一个web spplication时,由于容器已经提供这些类,你只需将Servlet API和相关的java EE APIs的范围scope设置为provided即可。这个范围用于编译和测试路径,并且是不可传递的。例如:
    <!-- Servlet -->  
            <dependency>  
                <groupId>javax.servlet</groupId>  
                <artifactId>servlet-api</artifactId>  
                <version>2.5</version>  
                <scope>provided</scope>  
            </dependency>  
            <dependency>  
                <groupId>javax.servlet.jsp</groupId>  
                <artifactId>jsp-api</artifactId>  
                <version>2.1</version>  
                <scope>provided</scope>  
            </dependency>  
    • runtime
      这个范围表明依赖不做用于编译时,但是作用于运行时。它是运行时和测试时路径,不是编译时路径。
    • test
      这个范围表示这个依赖不是程序正常使用的依赖,仅仅用于测试时,这个范围不可传递。
    • system
      这个范围类似与provided,但是需要在外部指定路径,并且这个依赖不会在本地仓库中查找。
    <dependencies>
      <dependency>
       <groupId>javax.sql</groupId>
       <artifactId>jdbc-stdext</artifactId>
       <version>2.0</version>
       <scope>system</scope>
       <systemPath>${java.home}/lib/rt.jar</systemPath>
      </dependency>
    </dependencies>
    • import(only available in Maven 2.0.9 or later)
      这个范围仅仅用于<dependencyManagement>节点中,它表示依赖将被<dependencyManagement>里面的依赖代替,因为这些依赖被代替了,有Import范围的依赖并不限制依赖的传递性。原文为: It indicates the dependency to be replaced with the effective list of dependencies in the specified POM's <dependencyManagement> section. Since they are replaced, dependencies with a scope of import do not actually participate in limiting the transitivity of a dependency.
  • 相关阅读:
    WebRTC中的NetEQ
    VoIP基本原理
    NetEQ主要文件简介
    声纹识别
    杂记(2019.04.13)
    概率论基础复习
    机器学习复习:模型评估指标
    传统机器学习算法复习:逻辑回归、因子分解机和梯度提升树
    Tensorflow中循环神经网络及其Wrappers
    einsum:爱因斯坦求和约定
  • 原文地址:https://www.cnblogs.com/ningheshutong/p/8143001.html
Copyright © 2020-2023  润新知