手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何解决maven中jar包冲突

时间:2024-10-30 05:38:41

1、从报错信息中找到提示异常的地方:我们这里提示的是“com.mongodb.MongoClientOptions$Builder.localThreshold(I)Lcom/mongodb/MongoClientOptions$Builder”

如何解决maven中jar包冲突

2、从代码中找到MongoClientOptions类,点击Project窗口上的定位(红框中的瞄准图标),找到jar包的信息:发现此class为org.mongodb:mongo-java-driver.jar版本为2.12.0-rc3中的class文件

如何解决maven中jar包冲突
如何解决maven中jar包冲突

3、找到此jar包的三维信息后,我们来查看项目的依赖树。在Idea的右侧工具标签页中打开Maven,再点击命令行按钮(红色框),在打开的窗口中(黄色框)输入mvn clean dependency:tree 命令,然后回车执行。

如何解决maven中jar包冲突
如何解决maven中jar包冲突

4、执行完成后,在控制台输出的信息中按Ctrl+f查找刚才的jar包名称,找到此jar包的版本。并且在自己的项目pom.xml文件中也查找此jar名,对比依赖的版本和自己引用的版本是否相同。我们这里可以看到,打印的依赖和我们引用的版本不一致,此为版本冲突。说明其他依赖中也引用了该jar包,并且版本比我们的低。

如何解决maven中jar包冲突

5、查看依赖树发现此依赖直接归属于我们的项目,找不到是哪个依赖中的引用怎么办?将我们项目中引用注释掉,在此执行上述命令(见步骤三)重新打印新的依赖树。下图是我们重新打印后的依赖树,发现该版本的jar包在“pushx-client”依赖中引用的。

如何解决maven中jar包冲突

6、然后我们在pom.xml文件中找到pushx-client引用在其下面把引用排除掉(注意:重新打开我们刚才注释掉的引用)排除方法:在dependency标签中加入<exclusions> <exclusion> // 对应jar的groupId和artifactId即可 </exclusion></exclusions>

如何解决maven中jar包冲突
© 手抄报圈