Gradle如何在本地文件系统中存储下载的jar文件?Maven将它们存储在USER_HOME下的.m2目录中,但是Gradle将它们存储在哪里呢?我检查了那里的.gradle文件夹,但只看到编译过的脚本。


当前回答

我花了一段时间才意识到这一点,因此有了额外的答案。希望它能节省人们的时间。注意,如果你正在运行sudo gradle,依赖项可能不在你的主目录下,即使sudo echo $ home返回/Users/<my-non-root-user>/。在我的Mac上,Gradle正在/private/var/root/. Gradle /caches/中缓存依赖项。

其他回答

事实上,缓存位置取决于GRADLE_USER_HOME环境变量值。 缺省值为$USER_HOME/。gradle基于Unix-OS和%userprofile%。\gradle在Windows上。 但是如果您设置了这个变量,缓存目录将从这个路径定位。

无论哪种情况,你都应该深入研究缓存\模块-2\文件-2.1来找到依赖项。

Gradle在USER_HOME/中缓存工件。gradle文件夹。编译后的脚本通常在项目文件夹中的.gradle文件夹中。

如果您找不到缓存,可能是因为您还没有缓存任何工件。你总是可以用一个简单的脚本看到Gradle缓存工件的位置:

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.google.guava:guava:12.0'
}

task showMeCache doLast() {
    configurations.compileClasspath.each { println it }
}

现在如果你运行gradle showMeCache,它会把依赖项下载到缓存中并打印完整的路径。

在Windows 10 PC中,它保存在:

C:\Users\%USERNAME%\.gradle\caches\modules-2\files-2.1\

我花了一段时间才意识到这一点,因此有了额外的答案。希望它能节省人们的时间。注意,如果你正在运行sudo gradle,依赖项可能不在你的主目录下,即使sudo echo $ home返回/Users/<my-non-root-user>/。在我的Mac上,Gradle正在/private/var/root/. Gradle /caches/中缓存依赖项。

如果你想要你的依赖文件在某个特定的文件夹中,你可以简单地为它使用一个复制任务。如。

task copyDepJars(type: Copy) {
  from configurations.compile
  into 'C:\\Users\\athakur\\Desktop\\lib'
}