解决Maven项目中jar包依赖冲突问题

时间:2025-01-28 17:03:02

版本冲突的解决方案

  [1]调节原则

      [1]路径最短者优先原则

      [2]路径相同时,先声明者优先原则

  [2]排除原则:用于排除某项依赖的依赖jar包

   <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <exclusions>
      <exclusion>
        <groupId></groupId>
        <artifactId></artifactId>
        <!--这里不需要指定版本号,由于是排除特定依赖的某个依赖jar包,所以版本固定,不需指定 -->
      </exclusion>
    </exclusions>
    <scope>provided</scope>
13   </dependency>

  [3]版本锁定原则:一般用在继承项目的父项目中

     <dependencyManagement>
      <dependencies>
        <dependency>
          <!--jar包坐标 -->
5           <groupId></groupId>
          <artifactId></artifactId>
7           <version></version>
        </dependency>
      </dependencies>
    </dependencyManagement>

  1、版本锁定之后,后面再使用到这个的 依赖的时候,就不要写版本号了!

  2、而且如果有多个相同的需要锁定的jar包的版本号一致的话,我们可以单独提取到properties标签中,

  3、在properties标签中,子标签自己定义,标签的值就是版本号,下面只需要在依赖的地方用${标签名}引用就可以了!