前景:
被外派到甲方公司,做系统运维迭代,该公司只有一个测试环境,且切换分支麻烦,在开发较为长期的项目时,负责人让我们把依赖的相应jar包版本更新成1.0.1,在生产出现问题时,从master拉取分支修复bug提交上线。
问题:
在把本地jar包版本更新成1.0.1之后,点击idea左侧的instal下载依赖失败了,根据提示,使用mvn -install
-X打印日志,发现是从xxx.myCompany.xxx镜像下进行下载(myCompany是我公司的名称,我现在在外部公司),使用ctrl+alt+s查看maven仓库地址配置以及setting文件,配置的镜像地址是xxx.jiafangCompany.xx。这就出现了一种很诡异的情况,maven配置文件没有配置我公司的镜像仓库,但是下载依赖却是从公司镜像仓库拉取的。
解决:
通过日志,发现打印的本地仓库地址是d:/maven/repository,但是我的setting配置的是d:/repo/jiafang-repo。所以猜测是不是idea的maven配置setting文件无效,当存在两个setting.xml时,就算你指定从bjs-setting.xml读取maven配置,maven还是会默认从setting.xml读取配置。
顺着这个思路,我把settling.xml改成setting.xml.bak,再把bjs-setting.xml改成setting.xml,发现可以正常下载依赖了。
真坑!!!