解决maven重复依赖问题(解决NoSuchMethod)
解决maven重复依赖问题(解决NoSuchMethod)
不积跬步无以至千里
1.问题描述
现在开发项目,一般都会创建maven工程,用它来管理依赖很方便,当然它还有其它用途。但是在实际的情况中往往会有重复依赖的问题,比如创建的工程A,依赖了b-1.0.jar,而b-1.0.jar又依赖了d-1.0.jar(这个我们本身是不能直接看到的),同时我们自己的工程又依赖了d-2.1.jar,或者工程A依赖了c-1.0.jar,c-1.0.jar依赖了d-2.0.jar,显然,d.jar有3个版本,3者之间是重复的,甚至是冲突的。
会引发NoSuchMethod代码异常
2.解决思路
1. 我们已经知道有哪些包是重复的,异常错误里面会报
2. 安装插件maven-helper
3. 在pom.xml里面 将text切换至depaendency analyzer
4. 输入重复包关键词搜索
5. 找到导入的父包,并将冲突包移除
示例
<dependency>
<groupId>com.google.auto.service</groupId>
<artifactId>auto-service</artifactId>
<version>${google.auto.service.version}</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
</exclusions>
</dependency>