maven引入jar包冲突问题

1.原因

使用maven过程中,经常会遇到jar包重复加载或者jar包冲突的问题,但是有些jar包是由于maven加载了其他jar包自动引入的,并非自己主动添加的,导致和自己添加的jar包版本冲突

举个栗子:

  自动化测试过程中,引用了testng的jar包,同时引用了reportng的jar,但是reportng会自动加载依赖传递的testng的jar包,这样就导致和自己添加的testng的jar包版本冲突

       

  使用maven test 或者maven install命令执行测试时会报如下错误

  [WARNING] The POM for org.testng:testng:jar:5.14.3 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details

       

2.解决办法:

  打开pom.xml文件,在Dependency Hierarchy(依赖列表)中查看jar包的依赖层次关系  

选择需要移除的jar包右键Exclude...,然后保存pom.xml,这样maven就不会再自动加载了,

或者也可以手动再pom中添加<exclusion>属性限制加载版本

最后,因移除了jar包,项目可能会报错

  右键maven项目选择maven->update project...

  或者重新添加下依赖testng的jar包(自己添加的jar包也被移除了)

  

猜你喜欢

转载自www.cnblogs.com/cty136/p/11531942.html