编译Maven项目时报错,was cached in the local repository, resolution will not be reattempted until the update interval of local-nexus-mirror has elapsed or updates are forced
错误信息:
[ERROR] Failed to execute goal on project platform-xxx: Could not resolve dependencies for project com.frond.xxx:platform-xxx:jar:0.1: Failed to collect dependencies at com.trip.public:common-utils:jar:1.2.0-SNAPSHOT: Failed to read artifact descriptor for com.trip.public:common-utils:jar:1.2.0-SNAPSHOT: Failure to find com.trip.public:platform-common:pom:0.6 in http://nexus.tool.cn/repository/ was cached in the local repository, resolution will not be reattempted until the update interval of local-nexus-mirror has elapsed or updates are forced -> [Help 1]
问题原因: 1、maven默认会使用本地缓存的库来编译工程,对于上次下载失败的库,maven会在.../repository/<group>/<artifact>/<version>/目录下创建xxx.lastUpdated文件,一旦这个文件存在,那么在直到下一次nexus更新之前都不会更新这个依赖库。 2、maven包管理混乱,下载失败
解决方法:
方法一: 删除.../repository/<group>/<artifact>/<version>/目录下的*.lastUpdated文件,重新编译项目。
方法二: 修改settings.xml文件,仓库添加?<updatePolicy>always</updatePolicy>,强制每次都更新依赖库。
<repositories>
<repository>
<id>nexus</id>
<url>http://nexus.tool.cn/repository/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
|