Maven was cached in the local repository, resolution will not be reattempted until the update interv

问题描述

在使用公司内部的maven仓库编译项目时,由于新加入了几个依赖包,第一次编译失败了,此后在修复了公司内部maven仓库后编译项目出现错误

was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced -> [Help 1]

问题原因

Maven默认会使用本地缓存的库来编译工程,对于上次下载失败的库,maven会在~/.m2/repository/<group>/<artifact>/<version>/目录下创建xxx.lastUpdated文件,一旦这个文件存在,那么在直到下一次nexus更新之前都不会更新这个依赖库。

解决办法:

删除vvv~/.m2/repository/<group>/<artifact>/<version>/目录下的*.lastUpdated文件,然后再次运行mvn compile编译工程。

另外也有说可以修改~/.m2/settings.xml文件,将其中的仓库添加

<updatePolicy>always</updatePolicy>

来强制每次都更新依赖库,但这个方法我还没有试过,这里先记下,下次再碰到这个问题的时候再试试。

你可能感兴趣的:(java,maven)