【问题标题】:gradle plugin and its dependenciesgradle 插件及其依赖项
【发布时间】:2020-06-27 03:49:09
【问题描述】:
我想了解我的本地缓存 (.gradle/caches/modules-2/files-2) 是如何构建的。我擦除了本地缓存,有一个带有构建文件的 java 项目,其中我没有声明任何依赖项。我只声明了一个插件'java',运行构建并且我的缓存充满了一堆库,我看到了以漏洞而闻名的 log4j v1.2.12 和 guava v17。我将我的 gradle 和 gradle wrapper 升级到 6.5 版本,删除了我的缓存并运行 ./gradlew build --refresh-dependencies 相同的 log4j 和 guava 相同的版本再次加载。
我的理解是本地缓存从构建文件中声明的 gradle 插件加载依赖项。是否可以根据使用的版本来控制这种依赖关系?
【问题讨论】:
标签:
gradle
build.gradle
gradlew
【解决方案1】:
不可复制
~/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 executed