我想了解我的本地缓存(.gradle/cache/modules-2/files-2)是如何构建的。我清除了本地缓存,有一个包含构建文件的java项目,其中我没有声明任何依赖项。我只声明了一个插件'java',运行build,我的缓存中充满了一堆库,其中我看到了以漏洞闻名的log4j v1.2.12和guava v17。我将gradle和gradle包装器升级到了6.5版本,删除了缓存并运行./gradlew build --刷新-依赖相同的log4j和guava相同的版本再次加载。我的理解是,本地缓存从构建文件中声明的gradle插件加载依赖项。有没有可能根据使用的版本来控制这种依赖?
发布于 2020-06-28 17:21:09
在所有构建之后,不可复制的~/projects/tmp_gradle/caches/modules-2仍为空
export GRADLE_USER_HOME=~/projects/tmp_gradle一个简单的build.gradle
plugins {
id 'java'
}运行的控制台日志
-bash$ gradle build --refresh-dependencies
BUILD SUCCESSFUL in 618ms
1 actionable task: 1 executed
-bash$ ./gradlew build --refresh-dependencies
Downloading https://services.gradle.org/distributions/gradle-6.1-bin.zip
.........10%.........20%.........30%..........40%.........50%.........60%..........70%.........80%.........90%.........100%
BUILD SUCCESSFUL in 15s
1 actionable task: 1 up-to-date
-bash$ ./gradlew build --refresh-dependencies
Downloading https://services.gradle.org/distributions/gradle-6.5-bin.zip
.........10%..........20%..........30%..........40%.........50%..........60%..........70%..........80%.........90%..........100%
Welcome to Gradle 6.5!
BUILD SUCCESSFUL in 18s
1 actionable task: 1 executedhttps://stackoverflow.com/questions/62605633
复制相似问题