maven设置多个仓库依赖
背景:
公司搭建了maven私服,正常情况下通过私服管理maven依赖。
现在有需求与华为合作,需要调研华为微服务产品。华为微服务依赖包放在华为自己的镜像仓库中。
问题:
安装华为的说明文档,在自己的setting中添加了mirror节点,配置了profile。
但是编译的时候死活找不到华为微服务依赖包,看到查找的仓库指向的是私服。
过程:
1、了解了maven仓库搜索顺序。参考:https://blog.csdn.net/chuixue24/article/details/91491635
2、了解了maven的mirror配置。参考:https://www.sojson.com/blog/168.html
原因:
由于maven的mirror配置只有一个生效,我们原有的setting配置了指向私服的mirror,而这个mirror配置的mirrorOf是*,
即所有的依赖都通过此mirror实现,所以添加的华为的mirror是无效的。
解决:
1、删除华为mirror;
2、修改指向私服的mirror的mirrorOf为*,!HuaweiCloudSDK2,即排除华为的依赖
最终达到的效果是非华为的依赖通过指向私服的mirror统一管理,华为的依赖则通过配置的全局profile管理。