maven本地仓库有依赖包,还会远程下载的问题

遇见这样的问题,明明本地有需要的依赖包,但是maven还是会从远程仓库拉取,如果远程仓库有需要的包还好,如果没有,或者无网络环境下没法访问远程仓库,那就直接报错,走不下去了。

原因:在本地仓库的每个依赖包都存在这样的文件:_remote.repositories

 _remote.repositories中记录了依赖的来源,记录了settings.xml中的id,如果settings.xml中的id发生了变化,就需要从远程仓库重新获取依赖。

解决方法一

直接删除_remote.repositories文件,单个删除或者全部删除都可以。

解决方法二

复制一份本地的repository仓库,然后修改settings.xml的远程仓库地址为复制后的本地仓库地址,maven就会把复制后的本地仓库当做远程仓库。

	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>file://E:/java/maven/Repository/</url>
	</mirror>

 改完再就好了,一劳永逸。