Java学习笔记

Maven学习笔记(2) --- 依赖

2017-02-19  本文已影响26人  Joepis

摘要: 原创出处 http://peijie2016.gitee.io 欢迎转载,保留摘要,谢谢!

maven依赖

在maven项目中,我们会在pom.xml文件中引入我们需要用到的依赖,一般用groupId,artifactId,version就够了,如下:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.1.7.RELEASE</version>
</dependency>

有时,也会指定依赖范围,比如:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

maven有3套classpath,编译classpath,运行classpath,测试classpath。

依赖范围

依赖范围有以下几种:

依赖机制

  1. 依赖会传播:A依赖B,B依赖C,那么maven解析的时候会找到B,发现B依赖C,又去把C引入,然后在引入B
  2. 有相同依赖的时候,优先选路径最近的:比如A->B->C->X(1.0), A->D->X(2.0),这时候有2个X,会冲突,maven会选择最近的,也就是X(2.0)
  3. 在依赖路径长度相同时,优先选先声明的:比如A->B->Y(1.0), A->C->Y(2.0),在maven2.0.9之后,maven会选在pom中先声明的那个。即如果C的依赖声明在B之前,就选Y(2.0)
上一篇 下一篇

猜你喜欢

热点阅读