IDEA导入maven项目依赖包出现omitted for conflict with 2.11.7

摘要:
就会出现了“omittedforconflictwith…”比如我这个项目的maven依赖中错误如图中显示的已经很明确了,同时存在两个不同版本的依赖类“org.scala-lang:scala-library:2.11.4”与“org.scala-lang:scala-library:2.11.7”,由依赖关系可以看出,二者都是由依赖“org.apache.kafka_2.11:0.9.0.1”引入的,那么我们pom.xml文件中找到这个依赖,加入如下配置项代码,将低版本的传递依赖包去除掉就ok了。————————————————org.codehaus.xfirexfire-all1.2.6javax.activationactivation1.0.2————————————————去除掉后刷新maven即可。。。。。

原因分析:

出现版本冲突的原因是因为由于Maven具有依赖传递性,所以当你引入一个依赖类的同时,其身后的依赖类也一起如过江之鲫纷至沓来了。

IDEA导入maven项目依赖包出现omitted for conflict with 2.11.7第1张

举个例子:
A依赖于B及C,而B又依赖于X、Y,而C依赖于X、M,则A除引B及C的依赖包下,还会引入X,Y,M的依赖包(一般情况下了,Maven可通过<scope>等若干种方式控制传递依赖)。
这里有一个需要特别注意的,即B和C同时依赖于X,假设B依赖于X的1.0版本,而C依赖于X的2.0版本,A究竟依赖于X的1.0还是2.0版本呢? 这就看Classloader的加载顺序了,假设Classloader先加载X_1.0,而它就不会再加载X_2.0了,如果A恰恰希望使用X_2.0呢,血案就这样不期而遇了。就会出现了“omitted for conflict with…”依赖版本冲突的问题。
————————————————

解决方法:
解决依赖版本冲突的方法其实很简单,将不想要或低版本的传递依赖去除掉即可。
比如我这个项目的maven依赖中错误如图中显示的已经很明确了,同时存在两个不同版本的依赖类“org.scala-lang:scala-library:2.11.4”与“org.scala-lang:scala-library:2.11.7”,由依赖关系可以看出,二者都是由依赖“org.apache.kafka_2.11:0.9.0.1”引入的,那么我们pom.xml文件中找到这个依赖,加入如下配置项代码,将低版本的传递依赖包去除掉就ok了。
————————————————

IDEA导入maven项目依赖包出现omitted for conflict with 2.11.7第2张

<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-all</artifactId>
<version>1.2.6</version>
<!-- 去除版本不一致的传递依赖包 -->
<exclusions>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.0.2</version>
</exclusion>
</exclusions>
</dependency>
————————————————
去除掉后刷新maven即可。。。。。

免责声明:文章转载自《IDEA导入maven项目依赖包出现omitted for conflict with 2.11.7》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇UVM基础之---------Reporting ClassesEBS_FORM开发之触发器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Centos下zip压缩分包和解压

1˃分包zip要分包,首先要把文件打成zip包后再分割。然后在将mypackage.zip以一个大小分割。...

Python3 读取和写入excel

/py_工作/销售/包括/天气。csv'_工作簿函数读取并返回所有工作表● 以列表形式读取_仅:判断是否读取_仅以模式打开Excel文档● 编码:...

android studio如何查看数据库文件

Android Studio可以通过两种方式查看数据库文件:1。SQLCOUT优点:功能强大。缺点:解决麻烦。2.Android DeviceMonitor中FileExpoler的优点:免费缺点:需要导出数据库并使用数据库可视化工具查看;手机需要root获得su权限,并通过adb命令修改/data/data/data下数据库文件的访问权限。具体修改方法:...

解决xcode打开时loading假死的问题

出现这个问题就真得崩溃了,有些小伙伴甚至还重装了Xcode,这里给大家推荐一个行之有效的方法。...

Github仓库重命名

1.在Github上重命名仓库,转到您自己的仓库,找到Setting标记,然后单击Options中的Settings以设置Repositoryname。2.修改本地仓库信息。由于远程仓库名称已更改,因此本地对应的仓库名称也应更改。1.检查当前远程仓库的信息$gitremote-v列出了所有远程仓库信息,包括网站地址。2.修改本地对应远程仓库的地址。修改后,使...

无法将您的Kindle连接到Wi-Fi网络怎么办-kindle无法连接wifi-kindle无法连接手机热点

问题描述:当连接到Wi-Fi或移动热点时,Kindle会弹出提示:如果我无法将您的Kindle连接到Wi-Fi网络,该怎么办。步骤1:通过USB数据线将Kindle连接到计算机。2.连接后,我电脑的磁盘将像一个USB闪存驱动器,Kindle磁盘将出现在其中。3.进入Kindle磁盘。在Kindle磁盘下,右键单击创建一个名为WIFI_NO_NET_PROBE...