idea 解决maven项目jar包依赖冲突问题

maven项目jar包依赖冲突问题,我平时不是很在意,但是面试要考,学习新知识总是好的;

依赖冲突产生原因:

  maven项目需要A、B两个依赖,A依赖需要C依赖,B依赖需要C依赖,这时候maven会下载两个C依赖,然后遵循路径最短原则,使用路径最短的C依赖,而另一个C依赖则不会使用;

依赖冲突解决办法:

1. idea打开pom文件,右键点击Show Dependencies选项,查看依赖冲突;红色箭头标注表示冲突的依赖;

idea 解决maven项目jar包依赖冲突问题

2. 使用exclusions标签可以让maven不拉取重复的依赖;

           <exclusions>
                <exclusion>
                    <groupId>commons-io</groupId>
                    <artifactId>commons-io</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>commons-lang3</artifactId>
                    <groupId>org.apache.commons</groupId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions> 

推荐阅读:https://blog.csdn.net/weixin_43718648/article/details/103562645