问题:
公司业务拓展,新增服务项目之后,需要和原来的jar包仓库分离,这就需要idea中不同的项目配置不同的maven管理仓库;于是在不同项目的idea的maven 管理页面上,分别配置以下三项;
配置完了之后,打开项目,自动导包没有问题,所有包下载完毕,也下载到了照配置的路径仓库里;(个别红的波浪线,是因为网络原因下载没有进行完全,产生以lastupted 的文件,打开包目录讲里面带有这个后缀的文件全部删掉,会重新导包)
然后利用mvn 命令,就会出现标题所述的问题;我们先了解下mvn 查找settings文件的原理;首先,是先后顺序:
- .m2目录下
- 使用的maven的conf目录下
- 配置的settings
其次,它去查找的时候,是查找的settings 文件,所以,重新命名settings文件的话,idea 里是找不到的;
这个原理不同的idea 呈现不同,有的版本是不会出现题目所述bug的,这里笔者只展示碰到的问题。
解决:
首先按照这个顺序的话,mvn 命令会去查找.m2/settings.xml;并且按照这里的jar包仓库地址进行项目的编译打包等操作;所以新项目的一些必须包就会因为远程仓库的读取错误而找不到;从这一点出发,我做了以下改变:将.m2/settings.xml文件移除,放在对应maven应用的conf包下;将settings_xx.xml文件重命名回settings.xml,并移至对应项目maven应用的conf包下;本地仓库配置也统一更改为默认的.m2/repository ;
完美解决