zzz1192993261
Sincle_z
2018-03-14 02:43
采纳率: 33.3%
浏览 3.0k
已采纳

IDEA使用Maven构建项目时jar包冲突的判断和解决方法?如下图:

图片说明
如上图所示,两个httpclient,一个4.5.2 一个4.5.3,这样算是冲突吗?
如果冲突该怎么解决?可否删掉其中一个

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • pansanday
    Pansanday 2018-03-14 04:07
    已采纳
    1. 这不算冲突,冲突的话,会在编译或者运行是报出错误,如:IncompatibleClassChangeError: class xxxx
    2. 实红线表示该jar包具有多个版本,点击实红线就能看到最终引用指向(虚红线)
    3. 由于4.5.3版本比4.5.2版本路径更短(maven版本选择的一个策略,具体可查网络),所以被优先选择
    4. 解决方案就是在需要排除的pom.xml中exclude不需要的版本,如下示例:
     <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-lambda-java-core</artifactId>
                <version>${aws-lambda-java-core.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
    
    点赞 评论
  • Echo_Baby
    GL.MR 2018-03-14 02:48

    如若是两个,加载的时候就不知道加载那个了。

    点赞 评论
  • maradona1984
    maradona1984 2018-03-14 03:09
     <exclusions>
            <exclusion>
                <groupId>xxx</groupId>
                <artifactId>xxx</artifactId>
            </exclusion>
        </exclusions>
    

    忽略掉其中一个

    点赞 评论

相关推荐