Vad*_*imo 47 intellij-idea gradle intellij-14
我有一个带有一些SNAPSHOT依赖项的项目,它使用gradle作为intellij中的构建工具.
问题是intellij正在使用现已过时的SNAPSHOTS.
当我在命令行上构建项目时
gradle build or
gradle clean build --refresh-dependencies
Run Code Online (Sandbox Code Playgroud)
在命令行上,将获取最新的依赖项.我还设置了我的成绩文件,以便始终根据此答案下载快照依赖项.
如何强制intellij下载所有依赖项?
Ell*_*gas 49
在IntelliJ 2017.2中,您可以在Gradle Tool窗口中右键单击项目名称,然后从上下文菜单中选择Refresh dependencies.
这将刷新所有依赖项,而不仅仅是SNAPSHOTS,因此可能需要一段时间.我不知道其他版本的IntelliJ是否也有此功能.
cjs*_*hno 34
我遇到了一些非常棘手的快照.您可以尝试以下几种方法:
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 4, 'hours'
resolutionStrategy.cacheChangingModulesFor 4, 'hours'
}
此配置更改是最后一个选项,应该谨慎使用.它基本上告诉Gradle更频繁地刷新本地缓存.进行这些更改后,应单击IntelliJ Gradle刷新按钮.kup*_*fic 18
另一种选择是打开项目结构,在项目设置,库下,找到列表中的依赖项并将其删除.然后按Gradle刷新蓝色圆圈箭头图标,IntelliJ应该获取最新版本.
在 Gradle 6+ 上,快照是changing
默认的。所以,不需要再设置changing = true
了。
Gradle 默认将更改的模块缓存 24 小时。我们可以通过将依赖项标记为“正在更改”来告诉 Gradle 刷新或重新下载构建脚本中的依赖项。
按着这些次序:
第 1 步:通过将cacheChangingModulesFor
属性的值设置为 0 秒来告诉 Gradle 不要缓存正在更改的模块:
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
Run Code Online (Sandbox Code Playgroud)
第 2 步:将需要刷新或重新下载的依赖项标记为正在更改的模块:
dependencies {
implementation("com.howtoprogram.buysell:payment-api:0.0.1-SNAPSHOT") {
changing = true
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36107 次 |
最近记录: |