maven--解决was cached in the local repository, resolution will not be reattempted until the update
简介
本文介绍解决was cached in the local repository, resolution will not be reattempted until the update ...的方法。
问题描述
用maven打包时,发现如下报错:
[ERROR] Failed to execute goal on project xxx: Could not resolve dependencies for project xxx:jar:0.0.1: Failure to find yyy:zzz:jar:1.0.0 in http://xxx:8081/nexus/content/groups/public 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]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
原因分析
Maven默认会使用本地缓存的库来编译工程,对于上次下载失败的库,maven会在~/.m2/repository/<group>/<artifact>/<version>/目录下创建xxx.lastUpdated文件。
一旦这个文件存在,那么在直到下一次nexus更新之前都不会更新这个依赖库。
解决方案
方案1:maven命令后加-U参数
如:mvn clean package -U
详解
-U参数会强制update本地的jar(不用再专门去删除)
-U,--update-snapshots :
Forces a check for missing releases and updated snapshots on remote repositories.
方案2:删除*.lastUpdated文件
删除~/.m2/repository/对应目录或目录下的*.lastUpdated文件,然后再次运行maven命令
方案3:repository添加updatePolicy属性
可以强制每次都更新依赖库,方法是:将repository标签添加如下属性:
<updatePolicy>always</updatePolicy>
updatePolicy可以设置为”always”、”daily” (默认)、”interval:XXX” (分钟)或”never”。
可以在pom.xml或者settings.xml里修改。
例如:
<repositories>
<repository>
<id>io.spring.repo.maven.release</id>
<url>http://repo.spring.io/release/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
was cached in the local repository, resolution will not be reattempted until the update interval of
was cached in the local repository, resolution will not be reattempted until the
resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced
Maven在执行中报错: 原因是有些jar包没有完全下载下来,在编译中找不到jar包。 解决方法是 在setting.xml中增加一个更新策略,如下:
resolution will not be reattempted until the update interval of central has elapsed or updates are f
http://stackoverflow.com/questions/4701532/force-maven-updatemvn clean install -U-U means force update of dependencies.
maven 下载jar失败: resolution will not be reattempted until the update interval of central has elapsed or updates are forced
Multiple annotations found at this line: - ArtifactTransferException: Failure to transfer com.fasterxml.jackson.core:jackson-databind:jar:2.9.0.pr3 fr