zoukankan      html  css  js  c++  java
  • 解决maven依赖传递中的版本冲突问题

    通常情况下,我们都比较喜欢使用maven进行项目管理,要加个依赖包也非常简单,不需要到处去下载jar包,当然除了maven之外,也还有一些非常不错的工具。在使用maven进行项目依赖管理的时候,有时候会出现一种情况,多个不同的开源组件都依赖了另外一个组件,但是这个组件的版本却不一样,在maven依赖中就会看到两个版本不同的jar,通常我们可以根据实际情况排除其中一个,当然前提是这个版本没有太大的差异,兼容。老规矩,直接了当说怎么做吧:

    1、手工添加配置:在dependency标签里使用子标签exclusions,比如A组件使用了zookeeper 3.3.3的依赖包,B组件使用了zookeeper 3.3.6的依赖包,这时候我们要排除3.3.3这个版本可以这样做:

          <dependency>
            <groupId>com.xxx</groupId>
            <artifactId>A</artifactId>
              <exclusions>
                  <exclusion>
                      <groupId>org.apache.zookeeper</groupId>
                      <artifactId>zookeeper</artifactId>
                  </exclusion>
              </exclusions>
          </dependency>

    2、借助工具排除,通过eclipse的pom编辑工具:

    这样就可以解决同一个组件多个版本问题,但这个是有前提的,前面也已经提到过了。。。

    另外也可以使用命令mvn project-info-reports:dependencies  查看项目依赖情况。

  • 相关阅读:
    Java修改excel内容
    text标签onchang事件
    shh将数据导出excel
    正则表达式0到200以内的数
    虚拟内存与物理内存
    捕获内核的异常事件
    linux内存(三)内核与用户空间交互
    linux内存(二)高端内存
    linux内存(一) 内核空间与用户空间
    使用tc配置后端设备,来限制虚拟机网卡带宽
  • 原文地址:https://www.cnblogs.com/jessezeng/p/5672568.html
Copyright © 2011-2022 走看看