1. 程式人生 > >Maven 傳遞依賴和衝突解決

Maven 傳遞依賴和衝突解決

一. 什麼是傳遞依賴 衝突

A 依賴B, 引入A的時候也引入B
衝突: A依賴了B ,C 依賴B

二. 自帶調優原則

a, 第一宣告者優先
b, 路徑近者優先

三. 排除依賴(方式一)

在這裡插入圖片描述

四. 方式二.鎖定版本(推薦)

1, 提取版本號
 <properties>
	<maven.compiler.target>1.7</maven.compiler.target>
    <!--提取版本號-->
    <spring-version>5.0.2.RELEASE</spring-version>
    <mybatis-version>3.4.5</mybatis-version>
  </properties>
2、版本控制器
<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.2.5.RELEASE</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
 3、使用提取的版本號
 <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring-version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring-version}</version>
    </dependency>
  </dependencies>

五. 依賴範圍對傳遞依賴的影響

在這裡插入圖片描述