码迷,mamicode.com
首页 > 其他好文 > 详细

Maven依赖

时间:2015-01-02 10:55:40      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

可传递的依赖:

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依赖

标签:

原文地址:http://www.cnblogs.com/gcg0036/p/4149276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!