- maven默认使用第一声明优先的原则,即谁先声明,就使用谁。这个声明的依赖包也是优先进入项目的。
- 路径近者优先原则。jar包导入时分如下两种。直接依赖要比传递依赖近,所以直接依赖会优先引入项目。
- 直接依赖,项目中直接导入的包。
- 传递依赖,靠包传递进入项目的。
- 可以使用标签,进行排除。在排出时可以不写版本号。因为在引入时已经知道其版本号了。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>2.5.6</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
</exclusions>
</dependency>