今天写demo创建SpringBoot项目的时候出现了问题,发现是我的maven有问题,是因为我maven配置的是公司的私服,SpringBoot需要的依赖私服没有直接依赖(私服进行了封装),所以拿不到依赖,我就想配置多个mirror来解决该问题,想法是好的,就是不太行,具体原因请看下文。
虽然 mirrors 可以配置多个子节点,但是它只会使用其中的一个节点,即 默认情况下配置多个 mirror 的情况下,只有第一个生效,只有当前一个 mirror 无法连接的时候,才会去找后一个;而我们想要的效果是:当a.jar在第一个 mirror 中不存在的时候,maven会去第二个 mirror 中查询下载,但是maven不会这样做!
针对这个问题我所知道的就两种解决方案。
方案一
- 修改maven配置,公司项目用公司提供的私服,个人项目用aliyun或者其他的镜像。
方案二
我们知道 settings.xml 中可以使用变量,可以尝试使用变量解决。