当Maven本地仓库中已经存在某个依赖包,但Maven仍然尝试从远程下载该依赖时,这通常是由于_remote.repositories文件中的设置导致的。
这个问题的原因在于,每个依赖包在本地仓库中都有一个_remote.repositories文件,该文件记录了依赖的来源信息,包括settings.xml中的repository ID。如果settings.xml中的repository ID发生了变化,Maven就会尝试从远程仓库重新获取依赖。解决这个问题的方法主要有两种:
直接删除_remote.repositories文件:你可以选择单个删除或全部删除该文件,这样Maven下次在构建项目时就会重新下载依赖,并且不再尝试从之前的远程仓库获取。
修改settings.xml的远程仓库地址:另一种方法是复制本地的repository仓库,并修改settings.xml中的远程仓库地址为复制后的本地仓库地址。这样,Maven就会把复制后的本地仓库当做远程仓库,从而避免再次从原始的远程仓库下载依赖。
现象之一是从别的电脑拷贝过来的本地依赖,但是放到对应仓库路径下且检查maven配置没问题后,还是会去拉依赖,并没有检测到本地的。只需要将依赖文件夹里面对应的_remote.repositories文件删掉,重新刷新加载一下即可。亲测有效