首页 > 其他分享 >maven依赖冲突的解决方法原则

maven依赖冲突的解决方法原则

时间:2022-12-09 17:03:03浏览次数:44  
标签:core 依赖 jackson jar maven 冲突 com fasterxml

1.最短路径优先原则

1. A->B->H
2. C->D->E->H

如上依赖关系,1 依赖的H会生效。当然,直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,可以自己声明一个指定版本的依赖jar。

2.第一声明优先原则

<dependencies>
...
<dependency>a-1.jar</dependency>
<dependency>a-2.jar</dependency>
</dependencies>

如上依赖引入顺序,a-1.jar优先。同一pom配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。

3.排除原则

<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.11.4</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <artifactId>jackson-annotations</artifactId>
          <groupId>com.fasterxml.jackson.core</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jackson-core</artifactId>
          <groupId>com.fasterxml.jackson.core</groupId>
        </exclusion>
      </exclusions>
    </dependency>

传递依赖冲突时,可以在不需要的jar的传递依赖中声明排除。

4.版本锁定原则

   <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.11.4</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

在配置文件pom.xml中先声明要使用哪个版本的相应jar包,声明后其他版本的jar包一律不依赖。

标签:core,依赖,jackson,jar,maven,冲突,com,fasterxml
From: https://www.cnblogs.com/zjfjava/p/16969389.html

相关文章