com.alipay.sdk
alipay-easysdk
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.24</version>
</dependency>
里面都存在一个com.aliyun.tea.utils.StringUtils.join方法,他们路径和类名字完全一样,但是确实来自与不同的依赖,导致在使用的时候无法找到第二个依赖的join方法,我尝试用自定义类加载器处理,但是调用这个join的地方在阿里云的源码里,我应该如何处理这个问题呢
当阿里云的两个依赖中存在两个完全一样包路径和方法名字的方法时,这通常被称为依赖冲突。Maven 依赖冲突主要分为两类:项目同一依赖应用,存在多版本,每个版本同一个类,可能存在差异;项目不同依赖应用,存在包名、类名完全一样的类。
解决这种问题的常见方法有:
<dependencyManagement
标签来排除不需要的依赖。如果您使用的是阿里云的 Maven 仓库,可以考虑在 settings.xml
文件中配置镜像地址,如 <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>
,以确保从可靠的源获取依赖。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。