zoukankan      html  css  js  c++  java
  • Maven依赖

    可传递的依赖:

    1.具体调用哪个版本?最短依赖长度的那个

    如:A -> B -> C -> D 2.0 , A -> E -> D 1.0,那么调用D 1.0

    为了避免这种情况,可以直接定义 A -> D 2.0,也就是说,自己显式定义的那个依赖总是先调用,无论版本高低

    2.如果不声明版本?会默认最新版

    3.排除某个依赖,如 A -> B -> C,A可以显式排除对 C 的依赖

    <dependency>
          <groupId>group-a</groupId>
          <artifactId>artifact-a</artifactId>
          <version>1.0</version>
          <exclusions>
            <exclusion>
              <groupId>group-c</groupId>
              <artifactId>excluded-artifact</artifactId>
            </exclusion>
          </exclusions>
        </dependency>

    4.可选依赖,如 B -> C,但声明为可选,在 A –> B 的时候就不会再依赖 C ,相当于被默认排除

    当然也可以显式添加对 C 的依赖,二者毫无关系

    5.依赖的作用范围 scope:

    • compile(默认,可省) 
    • provided,会由JDK或WebServer等来提供,如 Servlet API ,编译时需要,不会传递
    • runtime,用于运行时,编译时不需要,不会传递
    • test,用于测试,不会传递
    • system,表示会显式提供这个,不用到代码库中找 ,编译时需要,不会传递
    • import 只用于 <dependencyManagement> 的pom,不影响传递
    <dependencies>
        <dependency>
          <groupId>sun.jdk</groupId>
          <artifactId>tools</artifactId>
          <version>1.5.0</version>
          <scope>system</scope>
          <systemPath>${java.home}/../lib/tools.jar</systemPath>自己指定
        </dependency>
      </dependencies>
  • 相关阅读:
    maven配置
    redis测试
    智慧社区技术总结
    视频导航
    Delphi 任务栏中不显示窗口
    Delphi 设置程序图标为系统默认图标
    清除Windows系统图标缓存
    C/C++ 变量的本质分析
    005 C/C++ 数据类型_void
    004 C/C++ 数据类型_类型别名
  • 原文地址:https://www.cnblogs.com/gcg0036/p/4149276.html
Copyright © 2011-2022 走看看