加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

强制Gradle/Maven刷新缓存并重新从Nexus下载依赖jar包

发布时间:2020-12-15 00:26:46 所属栏目:C语言 来源:网络整理
导读:最近需要搭建一个Nexus私服,完全不能连接外网的那种,各种Jar包都是手动拷过来的。 问题 第一次上传某个jar包(比如junit-4.12.jar)到Nexus上,然后调用 gradle build 可以正确下载到依赖包。但如果手动删掉了本地缓存的jar包(在 ~/.gradle 下),这时从Nex

最近需要搭建一个Nexus私服,完全不能连接外网的那种,各种Jar包都是手动拷过来的。
问题

第一次上传某个jar包(比如junit-4.12.jar)到Nexus上,然后调用 gradle build 可以正确下载到依赖包。但如果手动删掉了本地缓存的jar包(在 ~/.gradle 下),这时从Nexus的下载过程中断,或者Nexus上暂时不存在这个jar包,那么即使Nexus恢复了正常下载,下次执行 gradle build 时就一直提示不能够找到jar包。

解决方案

回到自己的工作目录下,带参数执行gradle强制刷新 ~/.gradle 下的文件缓存

gradle build --refresh-dependencies

参考 Gradle manual

The –refresh-dependencies option tells Gradle to ignore all cached entries for resolved modules and artifacts. A fresh resolve will be performed against all configured repositories,with dynamic versions recalculated,modules refreshed,and artifacts downloaded.

如果是Maven遇到不能刷新本地依赖的话,需要做两件事情:

  1. 到 ~/.m2 下,看看jar包路径是不是带有”.lastUpdated”,有的话就删除之。带参数强制刷新 mvn build -U

  2. 另外,如果从Nexus将Jar包删除,或重新上传时(需要设置Configuration->Deployment Policy为Allow Redeploy),有时需要在Browse Storage中,右键Jar包路径,先”Update Index”再”Expire Cache”。注意这里是刷新Nexus自身的缓存和索引,不是开发目录本地的缓存!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读