Nexus中依赖包版本降级

问题

我们在工程中使用com.groupId:dependName:+来依赖最高版本。当我们对Nexus中的该依赖包降级(删除原来的最高版本,更新Index)。我们的本地依赖会出错

原因

使用+时,Gradle会拿Gradle本地缓存与Nexus(多个仓库取多个仓库中最高版本)中的最高版本号进行比对。如果Nexus中存在更高版本,则下载Nexus中的版本缓存于本地maven仓库和Gradle缓存仓库。因此如果本地仓库存有最高版本,将导致仍然使用原最高版本jar。如果本地没有而Gradle缓存中有则会报错找不到这个jar。

解决

1.Nexus中删除最高依赖包,并更新Index
这里写图片描述

2.删除本地Maven仓库

rm -rf  ~/.m2/repository/groupId*

2.删除Gradle依赖缓存库

rm -rf ~/.gradle/caches/modules-2/files-2.1/groupId*
rm -rf ~/.gradle/caches/transforms-1/files-1.1/dst-higher-version.jar
rm -rf ~/.gradle/caches/modules-2/metadata-2.58/descriptors/groupId*

3.工程对依赖清理

cleanBuildCache

猜你喜欢

转载自blog.csdn.net/panbinxian/article/details/82252486